Выпадающее меню на Symfony + Bootstrap + Knp menu

Рассказываю как на Symfony проект где используется knp-menu-bundle добавить выпадающее меню. Документация у KnpMenu довольно обширная, но как сделать dropdown меню я так и не нашёл.
Continue reading “Выпадающее меню на Symfony + Bootstrap + Knp menu”

Темизация Webform для Drupal 7 или куда положить шаблон

Очень просто решается задача с любой веб-формой на Drupal, так как её можно решить зачастую не прибегая к написанию кода. Самостоятельно при помощи конструктора добавляются поля формы, а затем выставляются их свойства.
Но как быть в случае сложной формы, в которой принципиальное значение имеет расположение полей ввода.
К примеру, это таблица, в ячейках которой имеются поля для ввода и, кроме того, при изменении полей должен выполняться наш javascript.

Требуется скопировать из папки (директории): sites/all/modules/webform/templates
файл webform-form.tpl.php
в папку (директорию): sites/all/themes/mytheme
где mytheme – это ваша тема.

Теперь переименуйте его в webform-form-[nid].tpl.php где [nid] – id ноды, в которой будет стилизована форма.

Всё что есть в этом файле оставляем как есть, лишь добавляем в верхнюю его часть до <?php ваш html-код, а в местах где нужно вставить поле ввода помещаем такую конструкцию: <?=drupal_render($form[‘submitted’][‘test1‘])?>

где test1 – это название вашего поля

В случае с таблицей выглядит так:

Test#1 Test#2

Не забудьте очистить кэш Drupal-а .

Выполнение javascript по нажатию на поле ввода.
В функцию mymodule_form_webform_client_form_[nid]_alter, где mymodule – название вашего модуля, а [nid] – как обычно id ноды добавляю аттрибуты к полям:

function mymodule_form_webform_client_form_34_alter(&$form, &$form_state, $form_id) {
    $form["submitted"]["servers_quantity"]["#attributes"]['onkeyup']='alert("test");';
}

Сработает javascript: alert(‘test’);