Помощь начинающим веб
разработчикам

Как правильно подключить стили и скрипты в Drupal

03.07.2012

При создании шаблона под Drupal бывают случаи, когда по незнанию разработчики вписывают свои скрипты и стили непосредственно в файл

page.tpl.php

Работать то оно будет, но с точки зрения API Drupal – это не является правильным, или как говорят Друпаловоды не совсем кошерно. Хотя задача то совершенно простая. Для того, что бы наш с вами код был «красивым» и удовлетворял бы требованиям API, необходимо стили и скрипты прописывать в файле

Название_шаблона.info

Именно из него Drupal забирает значения для шаблона. Для подключения стилей в .info файле достаточно вписать

stylesheets[all][] = url файла

Если у вас несколько стилей, то естественно каждый стиль нужно подключать отдельно. Для подключения скриптов пишем:

scripts[] = url скрипта

Так же как и со стилями, при наличии нескольких скриптов необходимо каждый подключать отдельно.Ну вот с подключением закончили.

Для того, что бы Drupal подгрузил стили и скрипты в вашу страницу необходимо в

html.tpl.php

Прописать - переменная вывода для стилей:

 print $styles;

Переменная вывода для скриптов:

 print $scripts;

Естественно, что данные переменные вставляются между тегами head

Для подключения CSS и JS из своего модуля или файла template.php вашей темы, можно использовать соответствующие функции:

  1. // JS
  2. drupal_add_js(drupal_get_path('module', 'name_module') . '/js/script.js');
  3. //CSS
  4. drupal_add_css(drupal_get_path('theme', 'name_theme') . '/css/style.css');

В данном примере используется функция drupal_get_path(), которая возвращает путь до модуля или темы.

Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (6)

Profile picture for user Александр
Денис
08.07.2014

Добрый вечер, Павел, такой вопрос, в header выводятся несколько скриптов. Я не могу понять где они прописываются..

Вот эти скрипты (скрин) -

http://i.piccy.info/i9/76137d98ba1b9aaaa662425fbc7ad1f0/1404765109/7376/771991/2014_07_07_23h30_14.png

Profile picture for user pantey
pantey
08.07.2014

прописываются они через info файл, template.php вашей темы или возможно из модуля. Но в данном случае у вас идет вывод сжатых скриптов, вам необходимо отключить в пункте производительность - "Объединение файлов JS" и тогда увидите точный путь ваших скриптов.

Profile picture for user Александр
egmont
16.11.2014

Для того, что бы Drupal подгрузил стили и скрипты в вашу страницу необходимо в
page.tpl.php


Ошибка?
необходимо в
html.tpl.php С уважением. Egmont.

Profile picture for user pantey
pantey
16.11.2014

исправил. спс.

Profile picture for user Александр
Mist
20.04.2015

Хорошая статья. Только ей не хватает описания динамического добавления скриптов и стилей с помощью функций:

drupal_add_css();
drupal_add_js();
Profile picture for user pantey
pantey
20.04.2015

добавил...

Добавить комментарий

- Оповестить о новом комментарии.
- Все комментарии
- Только мои комментарии