Я использовал модуль «Группа полей» и создал несколько групп в бэкэнде. Теперь я хочу программно добавить поле в группу. Как мне это сделать.
Я использую Hook_form_alter, я заметил, что у каждого поля есть атрибут «und», в котором указана группа полей, к которой он принадлежит, но если массив create и «und» и добавить к нему имя группы полей, он не работает ,
Как я должен это делать?
Ответы:
Это немного устарело, но я хотел сделать то же самое и не мог найти ответ в Интернете. Я понял это сам.
Предположим, вы создали группу полей через интерфейс CMS с именем «group_product_fields». Вы добавили несколько полей в эту группу.
Теперь у вас есть новое поле, включаемое в форму программно через hook_form_alter. Вы хотите добавить это поле в «group_product_fields». Вот пример того, что поле может быть:
Все, что вам нужно сделать сейчас, это добавить это новое поле в группу полей. Для этого добавьте строку ниже к hook_form_alter. Это может быть помещено где угодно в этом.
Это все. Вы можете настроить вес поля так, чтобы он располагался так, как вы хотите. Но в конце концов это действительно просто. :)
источник
Цитирование после Программно добавить поля в группу полей :
источник
'mode' => 'form'
или'mode' => 'default'
вместо'mode' => 'full'
, или просто опуститьmode
. Любое view_mode_name, спасибо @Maiq FashНе уверен, как это работает для вас. Потому что имя ключа массива должно совпадать с именем поля базы данных. И они:
Я должен использовать следующий формат, чтобы заставить его работать. дайте мне знать, если я делаю что-то глупо здесь.
источник
Посмотрите на hook_field_group_build_pre_render_alter ().
Это дает вам возможность программно изменить структуру ваших групп.
Например, переместите поле «example_field» в группу «group_example» из корневого элемента формы:
источник
Сначала найдите имя машины группы полей на панели CMS, затем в форме измените
для примера я добавил настраиваемое поле mail в группу
User form field group
полей:источник