Drupal 8 добавление атрибутов в форму (встроенные формы или webform) - на примере яндекс целей

Категория: Drupal
Дата публикации: 4 декабря, 2018 - 16:04
Последнее изменение: 4 декабря, 2018 - 16:28

В Drupal 8 атрибуты к элементам формы добавляются так же, как в и 7ке.
Код размещается или в THEMENAME.theme или в собственном модуле (MODULENAME.info.yml). Для темы это:

function THEMENAME_form_FORM_ID_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  $form['actions']['submit']['#attributes']['onclick'] = "yaCounterNNNNN.reachGoal('text');";
}

После чего очистить кеш.

Вверху файла (THEMENAME.theme или MODULENAME.info.yml) нужно проверить наличие:

use Drupal\Core\Form\FormStateInterface;

P.S. FORM_ID можно посмотреть, например, так:

function THEMENAME_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  var_dump($form_id);
}

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