Программирование сайтов
28 Дек в 21:36

Webform – установить цели Яндекс-Метрики на формы

В Друпал 8 и 9 можно установить цели через интерфейс (UI) на странице построения формы. Будем вешать событие onclick на кнопку.

[html]
onclick = "ym(xxxxxxxxx,’reachGoal’,’click’); return true;"
[/html]

На примере формы обратной связи (машинное имя – contact), построитель находится тут /admin/structure/webform/manage/contact

Построитель форм Друпал 8 и 9 модуля Webform

Переходим в редактирование кнопки. В поле “Submit button custom attributes (YAML)” через двоеточие вводим имя и значение атрибута.

[html]
onclick: ‘ym(xxxxxxxxx,”reachGoal”,”click”); return true;’
[/html]

Сохраняем и готово.

Добавление атрибута к элементу формы Webform Drupal 8 и 9

19 Дек в 12:11

Вывод поля ноды или термина в page.html.twig

У ноды и у термина таксономии можно создавать поля. Например, поле альтернативного заголовка. Пусть его машинное имя будет field_h1. Вывод значения этого поля в шаблоне page.html.twig для ноды делается так:

[html]
{{ node.field_h1.value }}
[/html]

Чтобы выводить поле термина таксономии подобным образом, нужно воспользоваться хуком hook_preprocess_page. В файл mytheme.theme пишем:

[php]
function mytheme_preprocess_page(&$variables) {
    if (\Drupal::routeMatch()->getRouteName() == ‘entity.taxonomy_term.canonical’) {
        $term = \Drupal::routeMatch()->getParameter(‘taxonomy_term’);
        $variables[‘term’] = $term;
    }
}
[/php]

А в шаблоне:

[html]
{{ term.field_h1.value }}
[/html]

10 Сен в 19:11

Изменить метки полей Views exposed filter between date

[php]
function mytheme_form_views_exposed_form_alter(array &$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
switch ($form[‘#id’]) {
case ‘views-exposed-form-myviewsname-page-1’:
$form[‘created’][‘min’][‘#title’] = ‘от’;
$form[‘created’][‘max’][‘#title’] = ‘до’;
break;
case ‘views-exposed-form-myviewsname-page-2’:
$form[‘created’][‘min’][‘#title’] = ‘от’;
$form[‘created’][‘max’][‘#title’] = ‘до’;
break;
}
}
[/php]