Drupal 8

Drupal8缓存

admin 提交于 周五, 11/22/2019 - 13:08

1. 匿名用户Form页面缓存

use Drupal\Core\Cache\Cache;

// 在匿名用户可以访问的表单里加入下面逻辑,包括列表页面和具体的查看页面

    $form['#cache']['tags'] = ['your_custom_tag_name'];

// 在写入逻辑里让缓存失效
    Cache::invalidateTags(['your_custom_tag_name']);

标签

Drupal 8 Web RESTFUL服务配置

admin 提交于 周六, 01/07/2017 - 10:03
  1. 先安装一个RESTUI模块
  2. 启用配置好之后可以访问GET接口,例如:http://cto.eguidedog.net/node/241?_format=json
  3. POST接口,例如:curl -H "Content-Type: application/json" -X POST -d '{"type":[{"target_id":"braille_printing_application"}],"title":[{"value":"test2"}],"field_address":[{"value":"addr2"}],"field_name":[{"value":"name2"}],"field_phone":[{"value":"phone2"}],"field_zipcode":[{"value":"zipcode2"}]}' http://cto.eguidedog.net/entity/node

标签

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')),

标签