Всем привет.
Подскажите: как в код кнопки отправки webform добавить onclick="ym(26005986, 'reachGoal', 'zakazat'); return true;"
?
У меня 2 варианта:
1. В настройках кнопки вебформы указать что-то из:
button custom attributes (YAML)
Элемент custom attributes (YAML)
Custom properties
Не получается
2. Темизировать input.html.twig для конкретной вебформы. А как?
или как-то по другому...
Комментарии
hook_form_FORM_ID_alter
А как вариант подрубить внешний .js файл и прописать в нем что то вроде? Особенно удобно если куча целей в итоге - все в одном файле:
jQuery(".button-class").on("mousedown",function(){console.log("Reach Goal!");ym(XXXXXX, 'reachGoal', 'TARGET_NAME');});
</script>
или как вариант в редакторе формы на вкладке "Custom JS/CSS" прописать обработчики кликов.
Пока что выкрутился, переписав шаблон самой формы и скрыв ее кнопку через стили. Да возможно это и не особо профессионально
Код размещается или в 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'] = "ym(000000000,'reachGoal','TARGET_NAME'); return true;";
}
Пример webform
/*Написали письмо с сайта*/
function mytheme_form_webform_submission_contact_node_11_add_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['actions']['submit']['#attributes']['onclick'] = "ym(000,'reachGoal','feedback'); return true;";
}