Drupal

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

不想写了
上一篇 下一篇

猜你喜欢

热点阅读