如何在drupal 8模块中向内容类型添加新字段?

时间:2016-09-03 10:32:47

标签: php drupal drupal-8

我有模块,我想创建新的分类字段(如果不存在)并将其附加到内容类型。我通过导出字段找到了简单的方法,但只有在我安装模块时它才会起作用。我需要不时地自动创建它们。

所以到现在为止我可以创建词汇和分类术语:

$vocabulary = \Drupal\taxonomy\Entity\Vocabulary::load($vid);
if (!$vocabulary) {
    $vocabulary = \Drupal\taxonomy\Entity\Vocabulary::create(array(
          'vid' => $vid,
          'machine_name' => $vid,
          'name' => $name,
    ));
    $vocabulary->save();
}

创建分类术语:(BTW是否有更好的方法来检查术语是否存在?taxonomy_term_load_multiple_by_name是旧的d7函数,但我无法找到其他方法)

if($terms = taxonomy_term_load_multiple_by_name($name, $vid))
{
    $term = reset($terms);
}
else
{
    $term = \Drupal\taxonomy\Entity\Term::create([
        'name' => $name, 
        'vid' => $vid,
    ])->save();
}

节点实体仅用于检查字段定义,我无法找到创建/附加字段的任何可能性。我发现只创建了全新的字段和代码示例,但没有粘贴如何将字段附加到内容类型。

0 个答案:

没有答案