【问题标题】:Hide a field collection field in an embedded form隐藏嵌入表单中的字段集合字段
【发布时间】:2017-09-16 00:30:56
【问题描述】:

我正在尝试隐藏以嵌入式表单呈现的字段集合字段。此表单在几个不同的节点上呈现,但只有一些节点需要所有字段,所以我想将它们隐藏在不需要的节点上。

现在我正在尝试通过钩子表单更改来执行此操作,但它在字段集合中不起作用,它将在正常呈现的与集合共享字段的表单上工作。

function zenstrap_form_alter(&$form,&$form_state,$form_id){

    //Form we want to target
    case ($form_id==="coh_pow_node_form"):

    //Appears in Normal form and Field Collection
    //Hides in normal
    $form['field_last_name']['#access']=FALSE;

   //Appears in Normal form and Field Collection
   //Hides in normal
   $form['field_street']['#access']=FALSE;

   //Appears in Field Collection
   //Does nothing
   $form['field_veteran_retired']['#access']=FALSE;

   break;

}

【问题讨论】:

    标签: drupal drupal-7 hook-form-alter drupal-field-collection


    【解决方案1】:

    要隐藏字段集合字段,请检查以下代码。

    function YOURMODULE_form_alter(&$form, &$form_state, $form_id) {
        if($form_id == 'YOURFORMID') {
            $delta = 0;
            $max_delta = $form['field_YOUR_field_collection'][LANGUAGE_NONE]['#max_delta'];
            while ($delta <= $max_delta) {
                $form['field_YOUR_field_collection'][LANGUAGE_NONE][$delta]['field_YOURfield'][LANGUAGE_NONE][0]['#access'] = FALSE;
                $delta++;
            }
        }
    }
    

    希望对你有帮助...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 2013-07-23
      • 2012-12-22
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2013-04-23
      相关资源
      最近更新 更多