2016-05-06 77 views
0

我想在自定義模塊中添加Drupal 8內容類型的額外字段,並且我沒有得到任何掛鉤。模塊掛鉤在drupal 8內容類型中添加額外字段

下面是我使用掛鉤但這是沒有幫助我的結果,我想:

function nodeclass_entity_bundle_field_info(\Drupal\Core\Entity\EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) { 
// Add a property only to nodes of the 'article' bundle. 
    if ($entity_type->id() == 'node' && $bundle == 'article') { 
    $fields = array(); 
    $fields['mymodule_text_more'] = BaseFieldDefinition::create('string') 
     ->setLabel(t('More text')) 
     ->setComputed(TRUE) 
     ->setClass('\Drupal\mymodule\EntityComputedMoreText'); 
    return $fields; 
    } 
} 
+0

沒有人在這裏回答這個問題? –

+0

這可能還不夠,您還需要hook_entity_field_storage_info。 – golddragon007

+0

你也可以看這個:https://drupal.stackexchange.com/questions/220175/add-field-to-bundle-through-hook-entity-bundle-field-info/220177#220177和文件說你需要hook_entity_field_storage_info或者您需要覆蓋現有的字段庫。你不做這兩件事中的任何一件。 – golddragon007

回答

0

裏面你的模塊文件夾,創建以下文件夾 模塊/ my_module /配置/安裝/

然後在模塊文件夾內創建下面的文件。

my_module /配置/安裝/ field.field.node.article.field_text_more.yml

langcode: en 
status: true 
dependencies: 
    config: 
    - field.storage.node.field_text_more 
    - node.type.article 
id: node.article.field_text_more 
field_name: field_text_more 
entity_type: node 
bundle: article 
label: 'More text' 
description: '' 
required: false 
translatable: false 
default_value: { } 
default_value_callback: '' 
settings: { } 
field_type: string 

my_module /配置/安裝/ field.storage.node.field_text_more.yml

langcode: en 
status: true 
dependencies: 
    module: 
    - node 
id: node.field_text_more 
field_name: field_text_more 
entity_type: node 
type: string 
settings: 
    max_length: 255 
    is_ascii: false 
    case_sensitive: false 
module: core 
locked: false 
cardinality: 1 
translatable: true 
indexes: { } 
persist_with_no_fields: false 
custom_storage: false 

然後重新安裝你的模塊,它會將新的字段「更多文本」添加到「文章」內容類型中。

注意:如果您希望將字段添加到任何其他內容類型,請更改文件名並更新field.field.node.article.field_text_more.yml中的行「bundle:article」。

+0

如果您的模塊含有內容,這不是一個好主意,因爲當您禁用該模塊時,所有相關內容都將被刪除 – golddragon007

相關問題