Drupal 9

By admin, 14 一月, 2022

1. 渲染表格

最简单的表格代码如下(如果不知道$form是什么,请先学习examples里的form_api_example) 

    $form['table'] = [
      '#type' => 'table',
      '#header' => $header,
      '#rows' => $rows,
      '#empty' => '暂无记录',
    ];

其中$header是表头数组,$rows是每一行数据。

2. 排序功能

如果我们希望表格能根据表头排序,那么$header可以从简单的一维数组变成复杂的二维数组:

标签

By admin, 5 一月, 2022

Drupal 9的设计大量依赖于service。sevices的核心是让依赖的逻辑写在初始化阶段,这样可以让实际逻辑大大简化,并且可维护性更好。所有\Drupal的写法都是Drupal对面向过程写法的兼容,被视为违反设计模式。不确定会不会在后续Drupal版本(例如Drupal 10)里不能用。下面是一个在Form里如何用Drupal 9 service的方式实现\Drupal::configFactory()功能的例子。就单一功能来说,例子的写法似乎更复杂了。但就整个复杂的系统来说,这样做是简化了,当我们熟悉了初始化service的方式,那些初始化的代码基本都是复制粘贴的。

1. FormBase和ControllerBase子类引入service的方法

<?php

namespace Drupal\utility\Form\SystemConsole\ConfigForm;

标签

By admin, 22 一月, 2021

sudo apt install composer

对于Drupal7,运行composer global require drush/drush:7.x,drush会被安装到~/.config/composer/vendor/bin/drush

对于Drupal9,在Drupal9目录下运行composer require drush/drush,drush会被安装到vendor/bin/drush

安装完后创建一个符号链接到/usr/local/bin/drush以方便调用。

参考:https://docs.drush.org/en/7.x/install/

标签

By admin, 28 十二月, 2020

 

UPDATE users_field_data SET pass='从一个已知密码的站点里复制uid=1的这个值' WHERE uid = 1;

DELETE FROM cache_entity WHERE cid = 'values:user:1';

标签

By admin, 8 五月, 2019

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