Drupal 8怎样编写自定义Block代码

admin 提交于 周二, 10/20/2015 - 11:03

简单得超乎想象!

https://www.drupal.org/node/2101565

个人遇到两个坑:

1. Drupal 8不能再像Drupal 7那样通过arg获取参数了。下面是获取参数的一个例子:

   

    $node = \Drupal::routeMatch()->getParameter('node');
    if ($node)
      $nid = $node->id();

2. Drupal 8会自动缓存很多东西,如果不声明缓存上下文,那么block的内容就相当于静态的。指定缓存的方法是给返回的元素增加以下属性:

'#cache' => array('contexts' => array('url')),

标签