【发布时间】:2022-01-07 10:54:16
【问题描述】:
我有带有多个“定价”的实体“parking_lot”,在“parking_lot”实体表单中,有一个使用小部件 inline_entity_form_complex 的字段“定价”。在parking_lot 表单中,我使用#states API 设置条件字段(仅显示字段,有时会使用布尔字段)。 #states 有效,但仅以“定价”实体的原始形式起作用,但是当我从 park_lot 实体编辑定价时,#states 不起作用。如何在 inline_entity_form_complex 字段小部件中设置#states?状态在正常字段中起作用,但在小部件中不起作用。 这是我的代码。请查看 Gif #1(工作)和 Gif #2(不工作)。
A 创建了一个 hook_form_FORM_ID_alter() :
$form['field_level_time_unit']['#states'] = [
'invisible' => [
'input[name="field_level_pricing_mode"]' => ['value' => 0],
]
];
$form['field_level_price']['#states'] = [
'invisible' => [
'input[name="field_level_pricing_mode"]' => ['value' => 0],
]
];
$form['field_level_of_reference']['#states'] = [
'visible' => [
'input[name="field_level_pricing_mode"]' => ['value' => 0],
]
];
【问题讨论】:
-
你把代码放在哪个钩子里了?
-
我在问题中添加了信息。在 hook_form_FORM_ID_alter() 中。
-
好的,我认为是问题所在:这个钩子只捕获第一个表单,第二个有另一个 form_id。
标签: drupal state drupal-8 drupal-9