На каждой странице моей темы нужно будет использовать jquery UI. Я знаю, что он включен в Drupal 7, но я не могу расшифровать слишком техническую документацию Drupal. Похоже, единственный способ сделать это с помощью файла template.php. Но так как я не понимаю этот файл, я пытаюсь избежать этого.
Есть ли другой способ, или я должен просто попробовать файл template.php?
7
theming
javascript
Бен
источник
источник
Ответы:
Добавление JS на страницу действительно не так сложно, даже если вам нужно использовать php.
Для обычных файлов JS вы можете сделать что-то вроде этого
Однако Drupal зарегистрировал пользовательский интерфейс jQuery в библиотеках, что облегчает добавление файлов JS и CSS для некоторых плагинов пользовательского интерфейса jQuery. Это можно сделать с помощью
Все плагины jQuery UI существуют в системном модуле, так что вы можете сделать
или
Некоторые из этих плагинов имеют зависимости, потому что они используют другие плагины. Drupal обрабатывает это очень умно и будет включать в себя необходимые компоненты.
Вы можете увидеть полный список плагинов jQuery здесь . Он отформатирован как массив PHP, но обычно соглашение об именах - ui.PLUGIN-NAME.
Если вам нужно добавить JS на каждую страницу, вы можете просто добавить обработчик страницы предварительной обработки и добавить их туда. Это будет выглядеть примерно так в файле template.php.
источник
function nocturnal_preprocess_page(&$variables) { drupal_add_library('system', 'ui'); drupal_add_library('system', 'ui.datepicker'); }
drupal_add_library('system', 'ui');
иdrupal_add_library('system', 'ui.accordion');
? Первый получает все или только ядро? Нужна ли мне строка для каждого плагина, который я использую?Вы пробовали модуль date_popup ? хорошо работает с API формы
источник
источник
Спасибо
googletorp
за ответ.Просто добавьте, если что-то еще не очень ясно, связанные с включением плагинов пользовательского интерфейса .
Обратите внимание, что когда вы будете упоминать:
drupal_add_library('system', 'ui');
это НЕ включит все плагины пользовательского интерфейса автоматически.
Вы можете найти список доступных плагинов jquery ui в drupal 7 здесь:
/misc/ui/
Чтобы включить пикурикулярный плагин, например
jquery.ui.slider.min.js
, вам нужно добавить следующую строку:Надеюсь, это полезно.
источник
У меня была эта проблема недавно. Кто-то дал мне свой пользовательский модуль, чтобы заставить JQuery UI загружаться на каждой странице. Вы можете воссоздать это просто. Сначала установите jquery_update и убедитесь, что он работает. Затем создайте и включите этот модуль:
Создайте папку в path / to / modules с именем 'jquery_force'.
Внутри добавьте два файла:
jquery_force.info :
jquery_force.module :
источник
Добавление ловушки препроцесса в
template.php
файл не работает для меня.Я просто положил
drupal_add_library('system', 'ui');
вtemplate.php
файл сам по себе, работает.источник