首页 / 帖子
如何设置 Inline Entity Form 在录入时显示哪些字段

我使用 Inline Entity Form 用于添加一个 A 类型节点的同时新添加一个相关联的 B 类型节点,

看了官方的解说视频,发现在添加 B 类型节点时显示的是 B 类型节点的 image 、capacity 、sku 、price 等字段

但我自己添加时,只显示 title 和 status 两个字段,

找不到调整和修改的地方

后来查了一下 issue ,类似的问题 modifying the Inline entity form listed fields

https://www.drupal.org/node/2091585

并且解答了并写好了代码,

可是我看不懂代码,下载(替换了所谓final code)并安装了 Costum_Inline_intity_form 模块,

依然仅显示 title 和 status 两个字段,清空了缓存依然无效

请教,如果我想显示 b 类型节点中的 title 和 自定义的 filed_ccm_name 、field_ccm_type 字段,

改如何修改代码?谢谢了


3个答案
刘伯彪
发布于:2014-12-15 16:42

Inline Entity Form 是为entity reference 字段提供的一个管理部件,

我们在创建一个新的Entity的时候也要同时创建那个关联的Entity,这就是Inline Entity Form的关键所在,

1:安装了该模块后,在reference字段的控件中会多出两个选项,

根据实际需要进行选择, 配置字段后,要更改字段的控件类型:

这两个关键地方设置完毕后,你在添加entity 的时候,就会领略到它的不同了,这里不在详细阐述,


拿到一个新的模块,如果不会看代码第一步就是要读readme……,希望能帮到你

Amanda Song
发布于:2014-12-15 17:03

我希望添加了犯罪嫌疑人节点后,显示的不是标题和是否已发表,而是所有的嫌疑人节点的必填字段


自定义模块 costum_inline_intity_form/costum_inline_intity_form.module


<?php

/**

* Implements hook_inline_entity_form_table_fields_alter().

*/

function costum_inline_intity_form_inline_entity_form_table_fields_alter(&$fields, $context) {

    // Make sure there's a stock field on each of the allowed product types.

  set_drupal_message('I made it here!', 'status'); 

    $is_tender_detail = FALSE;

    foreach ($context['allowed_bundles'] as $bundle) {

      if ($bundle=='tender_detail') {

        $is_tender_detail = TRUE;

      }

    }

    if ($is_tender_detail) {

        

        

// This line removes the title field. you're looking to do this, just with the status instead of title field


      unset($fields['status']);                       

// This part adds stock fields with a label '

      $fields['field_required_quantity'] = array(                   

        'type' => 'field_required_quantity',

        'label' => t('Required Qty'),

        'scale' => 0,

        'weight' => 101,

      );      

    }

}

?>


发布于:2014-12-15 20:19

如图所示,我是在commerce中的product中添加某个产品类型的时候自定义的其他字段,标题和状态是默认的自带的字段,使用Inline Entity Form模块其他字段可以显示出来。