Drupal → Изменить тип всех кнопок с input type="submit" на button type="submit"

04.04.2018

Часто по дизайну или функционалу вместо кнопок типа <input type="submit" value="Submit" /> нужны кнопки типа <button type="submit">Submit</button>. Сменить тип всех кнопок достаточно просто:

В папке темы создаём файл input--submit.html.twig:

<button{{ attributes }}>{{ attributes.value }}</button>
{{ children }}

Сбрасываем кэш.

Если нужно сменить тип только определённой кнопки, то переименовываем шаблон в input--button.html.twig и добавляем кнопке свойство '#theme_wrappers' => ['input__button']:

$form['button'] = [
  '#type' => 'submit',
  '#value' => 'Submit',
  '#theme_wrappers' => ['input__button'],
];
Написанное актуально для
Drupal 8+
Похожие записи

Комментарии

А чем по дизайну отличается <input type="submit" value="Submit" /> от <button type="submit">Submit</button> ?)
Тут отличие только в семантике и особенности поведения этих 2х элементов.
По дизайну можно стилизовать оба элемента одинаково. Да и дизайн это картинка которая не говорит тебе какой конкретно HTML-элемент юзать... Это же все зависит от Темизатора-верстальщика.

button может содержать дочерние элементы, input не может.

Добавить комментарий