Drupal 9 代码形式创建Node/User/Term
2022-03-16 本文已影响0人
又起风了_
在D7中创建这些实体是采用 new stdClass()
的方式来实现的,在D8/D9中都是调用EntityBase中的静态方法。
1.创建Node
use Drupal\node\Entity\Node;
...
public function createNode() {
$node = Node::create(['type' => 'content type']);
$node->langcode = 'zh-hans';
$node->title = 'hello world';
$node->uid = 1;
$node->body = 'body content';
$node->field_1 = 'field 1';
//save
$node->save();
dump($node);
//如果是多站点,可以翻译该节点
$transNode = Node::load($node->id());
$transNode = $tansNode->addTranslation("en");
$transNode->title = "en title";
...
$transNode->save();
}
2.创建User
use Drupal\user\Entity\User;
...
public function createUser() {
$user = User::create([
'name' => 'lucy',
'pass' => '123456',//最受欢迎的密码
'mail' => '123@321.com',
'status' => 1,
]);
//save
$user->save();
dump($user);
}
3.创建Term
不想写了