JS подключение к блоку

Главные вкладки

Аватар пользователя addon addon 12 июня 2013 в 19:10

Прошу подсказать у друпал сообщества)

Есть скрипт, который надо подключить к блоку.
Скрипт работает после прописания файлов .js в тема.info и в созданном шаблоне блока block--block.tpl.php вида:

function myFunction() {
$ скрипт...
}
myFunction();

НО!, если в тема.info отключить данные .js файлы и прописать только в файле шаблоне блока
не могу заставить работать скрипт прописав только:
<?php drupal_add_js("js/скрипт.js"); ?> в этом же блоке.. без указания в файле тема.info

по идее он же должен загружаться, если использовать drupal_add_js
(тема субтема zen)

может знает кто в чем ошибка..

Комментарии

Аватар пользователя serega111 serega111 12 июня 2013 в 19:20

<?php
drupal_add_js(drupal_get_path('theme', 'theme_name').'/js/file_name.js');
?>
Ошибка в пути у скрипту.

Небольшой совет: не подключайте скрипты в шаблоне, сделайте это через .info-файл. Или в модуле, если блок определен в кастомном модуле.

Аватар пользователя serega111 serega111 12 июня 2013 в 20:46

"addon" wrote:
theme_name - имя темы
'theme' а это что?

https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_ge...
так и оставьте.

"addon" wrote:
Подключил через тема.info скрипт работает, но не так как надо..

Видимо что то со скриптом не так )
Я к тому, что есть кое-какие правила, и лучше их соблюдать, иначе потом будет куча проблем, или вас будут вспоминать самыми добрыми словами, когда будут разбирать ваш код.
А вообще, дело ваше конечно...

Аватар пользователя serega111 serega111 16 июня 2013 в 20:31

"xSPiRiTx" wrote:
"serega111" wrote:
не подключайте скрипты в шаблоне, сделайте это через .info-файл.

почему?

Во-первых, потому что друпал умеет кешировать js, и если скрипт поместить в отдельный файл, то можно немного ускорить сайт.
Во-вторых, как я вижу, вы не используете правила друпала по написанию клиентских скриптов (https://drupal.org/node/756722). А вы уверены, что у вас таким образом не произойдет конфликта с каким-нибудь модулем?
В-третьих, нарушаете логику друпала. Если кто-то после вас будет работать с сайтом, но ему придется разбираться в ваших костылях. На личном опыте проверено, не самое приятное занятие. Если это ваш личный сайт/тема и никто никогда этого не увидит, то конечно, можно делать все что угодно, лишь бы нравилось )