Вы здесь

Как вывести поля формы в нескольких колонках?

0

Добрый день, всем.

Разбираюсь с темизацией форм, уже все сделал, но вот впечатление от работы с формами осталось ужасное. Большинство использует такие конструкции как:

$form['name']['#prefix'] = '<div class="row"><div class="col-md-6"><div class="form-group">';
  $form['name']['#suffix'] = '</div>';
  $form['name']['#attributes']['placeholder'][] = $form['name']['#title'].'*';
  $form['name']['#attributes']['class'][] = 'form-control';
  unset($form['name']['#title']);

Но я, наткнулся на статью, и думал уже что получу то что надо, а именно нормальную разметку в html.twig :

<div class="column">
      {{ form.name }}
      {{ form.pass }}
</div>

<div class="row">
       <div class="column-type-2">
             {{ form.test }}
             {{ form.form_build_id }} {# required #}
             {{ form.form_id }} {# required #}
             {{ form.actions }}
        </div>
</div>

Но у меня не заработало =( Ошибок нет, но форма осталась дефолтной.

Ответьте пожалуйста, кто что использует для темизации форм - первый способ или нашли другие решения? Мне не понятно ведь, к примеру, пройдет пару лет и надо будет что-то поменять в верстке формы - придется сидеть ковыряться в этих префиксах/суфиксах/инспекторах пытаясь восстановить вложенность div-ов.

Версия Drupal: 
8.x
Категория: 
Form APITheming
Вопрос задан 07.09.2016 - 12:52

Как насчёт использовать, field_group.
Тогда группы будут видны в админке и вы точно их не потеряете.

Так же по возможности делать формы не программно, а через модули entity_form для d7 и contact_form для d8.

Комментарий оставлен 29.09.2016 - 16:21

Ответы