Подключение скрипта JS после отправки формы в Drupal 7
Чтобы подключить файл JS после отправки формы (с перезагрузкой текущей страницы), нужно добавить в template.php следующие функции:
Чтобы подключить файл JS после отправки формы (с перезагрузкой текущей страницы), нужно добавить в template.php следующие функции:
Пример кода в template.php, убирающего div-обертки и метки полей ввода в форме входа на сайт и добавляющего атрибут placeholder полям:
Ограничить доступ определенным ролям пользователей (или анонимным посетителям) к полям сущностей (нод, терминов такосномии и др.) в Drupal позволяет модуль Field Permissions. Однако иногда требуется ограничить доступ к полю любой другой формы, в том числе создаваемой собственным модулем.
Задача разработки шаблона для формы в Друпал может возникнуть, когда, например, нужно объединить несколько полей в один div-контейнер. Рассмотрим решение данной задачи на примере темизации формы комментирования.
В одной из предыдущих статей мы научились создавать форму и выводить ее в блоке с помощью собственного модуля. Однако иногда может понадобиться вывести в блоке форму, созданную другим модулем, например, форму создания материалов того или иного типа.
В ходе работы над сайтами нередко приходится заниматься версткой форм, а также написанием JS-скриптов для форм. Естественно возникает потребность в подключении файлов стилей и скриптов для страниц с формами (включать стили и скрипты для форм, особенно если они довольно объемные, в общие CSS- и JS-файлы темы оформления сайта нецелесообразно, так как формы выводятся, как правило, только на определенных страницах сайта).
В данной статье я остановлюсь на решении простой, но нередко встречающейся задачи – как вывести форму в блоке в Drupal (подобный функционал реализован, например, в модуле Webform или модуле поиска ядра Друпала).
В Drupal Commerce «из коробки» нет js-виджета для изменения количества товара в форме добавления в корзину. Поэтому разработчикам приходится самостоятельно подключать дополнительные плагины. Есть, правда, еще модуль Commerce Extra, однако, судя по всему, он уже заброшен разработчиками.
Часто дизайнеры кнопку формы поиска сайта выполняют в виде лупы или вообще убирают, тогда для подсказки пользователю в поле ввода формы ставят надпись «Поиск», «Найти» и др.
Данную задачу можно решить несколькими способами. Первый и, пожалуй, самый простой – добавить к полю ввода формы поиска атрибут placeholder, который поддерживают все современные браузеры. Чтобы добавить placeholder к текстовому полю формы поиска в Drupal, в template.php темы сайта используем функцию-хук hook_form_alter: