簡體   English   中英

隱藏 Drupal 中的最后一項 8 多值字段表單小部件

[英]Hide Last Item in Drupal 8 Multi Value Field Form Widgets

有誰知道是否有辦法隱藏多值字段表單中的最后一項,以便只顯示“添加更多”按鈕,而不顯示空增量。 如果它在 hook_form_alter 中為空,我已經嘗試隱藏該項目,但是添加更多按鈕會添加兩個項目。 似乎增量值在 ajax 過程中的某處增加了一個,我無法阻止第一個 ajax 調用然后添加兩個項目而不是一個,即使我取消設置

$form['myfield']['widget'][0]

有沒有人在這方面取得成功? 否則我將不得不使用段落。 謝謝。

有誰知道是否有辦法隱藏多值字段的表單中的最后一項,以便僅顯示“添加更多”按鈕,而不會顯示空的增量。 如果 hook_form_alter 中的項目為空,我已經嘗試隱藏該項目,但是添加更多按鈕添加了兩個項目。 似乎在 ajax 進程中的某個地方增加了一個 delta 值,我無法阻止第一個 ajax 調用然后添加兩個項目而不是一個項目,即使我取消設置

$form['myfield']['widget'][0]

有沒有人在這方面取得成功? 否則我將不得不使用段落。 謝謝。

有誰知道是否有辦法隱藏多值字段的表單中的最后一項,以便僅顯示“添加更多”按鈕,而不會顯示空的增量。 如果 hook_form_alter 中的項目為空,我已經嘗試隱藏該項目,但是添加更多按鈕添加了兩個項目。 似乎在 ajax 進程中的某個地方增加了一個 delta 值,我無法阻止第一個 ajax 調用然后添加兩個項目而不是一個項目,即使我取消設置

$form['myfield']['widget'][0]

有沒有人在這方面取得成功? 否則我將不得不使用段落。 謝謝。

此解決方案預處理 field_multiple_value_form 主題掛鈎,因此它將應用於所有多值字段。

當字段至少有一個值時,從表中刪除最后一項,即空小部件。

function HOOK_preprocess_field_multiple_value_form(&$variables) {
  if (isset($variables['table'])) {
    $row_count = count($variables['table']['#rows']);
    if ($row_count > 1) {
      unset($variables['table']['#rows'][$row_count - 1]);
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM