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

Как правильно подключить стили и скрипты в 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(), которая возвращает путь до модуля или темы.

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

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

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

добавил...

Profile picture for user Дмитрий
ZZZ
15.09.2017

Добрый день. При установке ssl сертификата отвалились стили

Где их изменить чтобы восстановить

Profile picture for user pantey
pantey
15.09.2017

Добрый день. Как именно они отвалились ? не подгружаются на страницу ? или отмечены как mixed content ?

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

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