У меня есть поле в пользовательском типе контента, который является ссылкой на тип абзаца, используя виджет «Абзац (ЭКСПЕРИМЕНТАЛЬНЫЙ)». Я пытаюсь изменить этот виджет, чтобы отображать и скрывать поле на основе другого поля в абзаце. Вот мой код изменения виджета:
$field = 'field_supporter_form_fields';
$id_field = 'field_primary_custom';
$дельта = $элемент['#дельта'];
$id = sprintf('select[name="%s[%d][subform][%s]"]', $field, $delta, $id_field);
$element['subform']['field_field_type']['widget']['#states'] = [
'видимый' => [
$id => ['значение' => 'пользовательский'],
],
];
$element['subform']['field_field_type']['widget']['#title'] = 'Мля!';
Я знаю, что нацелился на правильный виджет, потому что вижу, что заголовок поля меняется на «Бла!», но видимость поля не меняется.
Вот как выглядит соответствующая часть массива $element после изменения:
[#parents] => Массив
(
[0] => field_supporter_form_fields
[1] => 0
[2] => подчиненная форма
[3] => field_field_type
)
[#состояния] => Массив
(
[видимый] => Массив
(
[select[name="field_supporter_form_fields[0][subform][field_primary_custom]"]] => Массив
(
[значение] => пользовательский
)
)
)
Зависимое поле field_primary_custom
представляет собой пару переключателей со значениями либо основного, либо пользовательского. Имя элемента на странице field_supporter_form_fields[0][subform][field_primary_custom]
что соответствует тому, что у меня есть в моем идентификаторе.
Почему не меняется видимость?