Как добавить js/css в форму добавления материала?
5 ноября 2019 в 18:05
Есть форма добавления ноды, с помощью hook_form_akter и drupal_add_js я добавил нужные скрипты.
Но если я отправляю форму с ошибкой (например не заполнил обязательное поле)
То форма перезагружается без подключенных файлов, кроме того не срабатывает даже функции такие как drupal_set_message.
Как сделать чтобы кастомный код выполнялся, даже если форма перезагрузилась с ошибкой?
Первый вариант (нерабочий)
<?php
function interviewform_form_alter(&$form, &$form_state, $form_id) {
dpm($form_id);
if($form_id == 'base_form_node_form'){
$path = drupal_get_path('module','interviewform');
drupal_add_js('https://api-maps.yandex.ru/2.1/?apikey=а3а3а3кукумкмкммк&lang=ru_RU', 'external');
drupal_add_js($path.'/interviewform.js');
drupal_add_css($path.'/interviewform.css');
$form['field_geotag']['#prefix'] = '<div class="yamap_wrapper"><a href="#" class="btn btn-default getgeotag">Определить местоположение</a><div id="yamap"></div></div>';
//dpm($form);
}
}
?>
Второй рабочий но похож на костыль
<?php
function interviewform_form_alter(&$form, &$form_state, $form_id) {
dpm($form_id);
if($form_id == 'base_form_node_form'){
$path = drupal_get_path('module','interviewform');
$form['field_geotag']['#prefix'] = '
<script type="text/javascript" src="https://api-maps.yandex.ru/2.1/?apikey=мкмкмекиеиеке4&lang=ru_RU"></script>
<script type="text/javascript" src="/'.$path.'/interviewform.js"></script>
<link rel="stylesheet" type="text/css" href="/'.$path.'/interviewform.css">
<div class="yamap_wrapper"><a href="#" class="btn btn-default getgeotag">Определить местоположение</a><div id="yamap"></div></div>';
//dpm($form);
}
}
?>
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Вместо drupal_add_js используйте
$form['#attached']['css'][] = ...;