Drupal 8

By admin, 22 十一月, 2019

1. 管理匿名用户Form页面缓存

use Drupal\Core\Cache\Cache;

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

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

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

2. 禁用匿名用户Form页面缓存

在<module>.routing.yml文件路由定义里增加no_cache: 'TRUE'可禁用缓存

标签

By admin, 8 五月, 2019

本教程不讲安装,不讲CMS部分,直接讲述如何编写Drupal 9模块。部分内容还是基于Drupal 8的,但基本也适用于Drupal 9和Drupal 10。

By admin, 7 一月, 2017
  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

标签

By admin, 20 十月, 2015

简单得超乎想象!

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

标签

By admin, 9 十月, 2015

First, it's really a bad idea to use Drupal 8 beta version on production site like me. Because Drupal 8 beta release do not provide a way to upgrade between beta versions. The database and API are not frozen at all.

If you are unlucky like me, you can try following steps:

标签