А что ты пробовал? А что не получается? Что за скрипт? Ты хочешь добавить его на определенные страницы или на все? В хидер или в футер?
Я должен все варианты расписать или ты все таки будешь писать хоть какую-то конкретику?
PS Если ты что-то не можешь сделать, всегда есть люди, готовые помочь за N рублей.
Например хотел подключить скрипт к определенному типу материалов либо скрипт подключить для определенного блока, не знаю как...
Написано в теме есть файл info прописывать нужно стили и скрипты там например:
scripts[] = test.js ***** вот тут не пойму, какой путь к моему скрипту будет прописан, например у меня скрипт будет находиться в папке themes/garland/JS/my-scripts.js, соответственно >>>
scripts[] = themes/garland/JS/my-scripts.js так получается?
2) Скрипт указал в файле info ------ ------ scripts[] = themes/garland/JS/my-scripts.js
- сам скрипт разместил в папке JS ------ themes/garland/JS/my-scripts.js
3) Что дальше делать нужно? Например хочется создать блок для сайта на главной странице, что бы в нём шёл дождик либо снег, только в одном блоке, а не во всех
1. путь должен быть указан относительно папки темы. То есть, если скрипт в папке themes/garland/js/my-script.js, то нужно написать в info файле scripts[] = js/my-script.js
2. у вас используется тема garland? если нет, то нужно скрипт разместить именно в папке используемой темы.
3. Никогда не вносите правки в стандартные друпаловские модули и темы, а также в темы и модули, скачаные с оф сайта. вы потеряете все изменения при очередном обновлении ядра, модулей или темы. Если используете какую-то тему с офсайта, то создайте кастомную тему, которая будет на ней базироваться, и уже в кастомную тему включите скрипт.
Это что касается скриптов в теме.
4. Ваши задачи должны решаться через создание кастомного модуля.
Для добавления к определенным типа материала, нужно использовать hook_nodeapi
<?php
function my_module_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if ($op == 'view' && $node->type == 'my_node_type') {
drupal_add_js(drupal_get_path('module', 'my_module') . '/my-script.js', 'module')
}
}
?>
Для добавления к определенным блокам - hook_block
<?php
function my_module_block($op, $delat, $edit = array()) {
if ($op == 'view' && $delta == 'my_block_delta') {
drupal_add_js(drupal_get_path('module', 'my_module') . '/my-script.js', 'module')
}
}
?>
Скрипт должен лежать в корне папки с модулем
Эх...
написать в info файле scripts[] = js/my-script.js это я пробовал, тема у меня garland,
но что-то не работает...
там же нужно вроде ещё осуществить вывод вроде?
4. А кастомный модуль о нём я ничего не знаю. Без него можно?
Я просто не понимаю пошаговую реализацию вывода сторонних скриптов...
1. Я так понял нужно делать так как вы сказали.
2. Нужно использовать hook_nodeapi
3. Для добавления к определенным блокам - hook_block
Теперь по порядку, что куда вставлять (желание реализовать к материалам)
1. в info прописывает так как выше => scripts[] = js/my-script.js
2. Что делать дальше я не понял?
3. Куда это вставлять ? =>
В файле my_module.info нужно прописать только стандартные данные (смотрите любой встроенный модуль для примера), записи scripts[] = js/my-script.js там не должно быть
в файл my_module.module вставить код, что я написал выше
не забыть в папку модуля положить ваш скрипт
Тема определяет общий вид сайта, а рюшечки, которые применяются к какому то блоку, лучше как раз таки вынести в модуль, тогда можно будет использовать это на разных темах, на разных сайтах. В идеале, этот модуль должен еще и программно создавать блок.
К тому же, вы уверены, что создать подтему гарланда для подключения одного скрипта - это хорошая идея? Или вы тоже за то, чтобы прямо в гарланде поменять info файл и положить свой кастомный скрипт в папку друпаловской темы?
"multpix" wrote:
соизмеряй силы вопрошающего)))))
Так я с самого начала сказал, что есть люди, готовый помочь за N рублей.
page-front.tpl.php (копируем из дефолтной и добавляем свой блок (div) к которому будем цеплять рюшик)
Я тоже оставлю это без комментариев ))
"ХулиGUN" wrote:
Но решаться задача должна на уровне темы, но никак не модуля, если только этот js не имеет никакой унификации и нет возможности и необходимости использовать в будущем в других темах.
Согласен, что подобную задачу стоит решать на уровне темы, если рюшечки являются частью дизайна сайта. Но у нас блок со снегом в теме гарланд.
бида-печаль
ну тут же есть варианты
1. скрипт банально не подключился (смотри исходный код страницы) либо же подключен, но путь неправильный (смотри вкладку network в devtools)
2. скрипт нерабочий (то же вполне вероятно в данном случае) либо его нужно переписывать
p.s. сам себя не понимаю, когда отвечаю в топике про подключение дождика/снега, который будет идти в конкретном созданном блоке
такого не должно быть, если тема включена и в info добавлен scripts[] = ... и очищен кеш, то в исходном коде скрипт будет, даже если путь неправильно указан
Комментарии
либо в теме добавить скрипт, либо в модуле через drupal_add_js
Я пробовал у меня не получается напиши пожалуйста, если разбираешься ICQ 645759044
А что ты пробовал? А что не получается? Что за скрипт? Ты хочешь добавить его на определенные страницы или на все? В хидер или в футер?
Я должен все варианты расписать или ты все таки будешь писать хоть какую-то конкретику?
PS Если ты что-то не можешь сделать, всегда есть люди, готовые помочь за N рублей.
Например хотел подключить скрипт к определенному типу материалов либо скрипт подключить для определенного блока, не знаю как...
Написано в теме есть файл info прописывать нужно стили и скрипты там например:
scripts[] = test.js ***** вот тут не пойму, какой путь к моему скрипту будет прописан, например у меня скрипт будет находиться в папке themes/garland/JS/my-scripts.js, соответственно >>>
scripts[] = themes/garland/JS/my-scripts.js так получается?
2) Скрипт указал в файле info ------ ------ scripts[] = themes/garland/JS/my-scripts.js
- сам скрипт разместил в папке JS ------ themes/garland/JS/my-scripts.js
3) Что дальше делать нужно? Например хочется создать блок для сайта на главной странице, что бы в нём шёл дождик либо снег, только в одном блоке, а не во всех
1. путь должен быть указан относительно папки темы. То есть, если скрипт в папке themes/garland/js/my-script.js, то нужно написать в info файле scripts[] = js/my-script.js
2. у вас используется тема garland? если нет, то нужно скрипт разместить именно в папке используемой темы.
3. Никогда не вносите правки в стандартные друпаловские модули и темы, а также в темы и модули, скачаные с оф сайта. вы потеряете все изменения при очередном обновлении ядра, модулей или темы. Если используете какую-то тему с офсайта, то создайте кастомную тему, которая будет на ней базироваться, и уже в кастомную тему включите скрипт.
Это что касается скриптов в теме.
4. Ваши задачи должны решаться через создание кастомного модуля.
Для добавления к определенным типа материала, нужно использовать hook_nodeapi
<?php
function my_module_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if ($op == 'view' && $node->type == 'my_node_type') {
drupal_add_js(drupal_get_path('module', 'my_module') . '/my-script.js', 'module')
}
}
?>
Для добавления к определенным блокам - hook_block
<?php
function my_module_block($op, $delat, $edit = array()) {
if ($op == 'view' && $delta == 'my_block_delta') {
drupal_add_js(drupal_get_path('module', 'my_module') . '/my-script.js', 'module')
}
}
?>
Скрипт должен лежать в корне папки с модулем
Эх...
написать в info файле scripts[] = js/my-script.js это я пробовал, тема у меня garland,
но что-то не работает...
там же нужно вроде ещё осуществить вывод вроде?
4. А кастомный модуль о нём я ничего не знаю. Без него можно?
после того, как прописали строчку в info файле, кэш обновляли?
вывод чего вы хотите осуществить?
Можно, но это говнокод.
Я просто не понимаю пошаговую реализацию вывода сторонних скриптов...
1. Я так понял нужно делать так как вы сказали.
2. Нужно использовать hook_nodeapi
3. Для добавления к определенным блокам - hook_block
Теперь по порядку, что куда вставлять (желание реализовать к материалам)
1. в info прописывает так как выше => scripts[] = js/my-script.js
2. Что делать дальше я не понял?
3. Куда это вставлять ? =>
<?php
function my_module_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if ($op == 'view' && $node->type == 'my_node_type') {
drupal_add_js(drupal_get_path('module', 'my_module') . '/my-script.js', 'module')
}
}
?>
###########
В файле my_module.info нужно прописать только стандартные данные (смотрите любой встроенный модуль для примера), записи scripts[] = js/my-script.js там не должно быть
в файл my_module.module вставить код, что я написал выше
не забыть в папку модуля положить ваш скрипт
PS. В гугле забанили?
my_module.info где он находиться в какой папке?
https://www.drupal.org/node/171194
https://www.drupal.org/node/171205
RTFM! - Весь раздел.
Его создать нужно и положить в папку модуля, которую тоже нужно создать.
http://ramech.net/courses/drupal6-development/module-create.html
PS Это последний мой ответ в теме, вы надоели своей ленью и глупостью. Если вы ничего не понимаете, нафига вообще занялись программированием?
@multpix, не путайте человека, от пытается создать модуль, а вы ему ссылки на создание темы кидаете.
@serega111,
во первых - цитата выше, не моя, уволь ))
во вторых:
то, что он начал пытаться создавать модуль - исключительно твоя заслуга))
ибо изначально озвученное:
это можно сделать модулем, но более верно визуальные рюшики делать в слое темы.
вы тут скрипт уже вторую неделю подключаете, а что будет с хуками меню и блоков?
счет пойдет на годы?
соизмеряй силы вопрошающего)))))
Тема определяет общий вид сайта, а рюшечки, которые применяются к какому то блоку, лучше как раз таки вынести в модуль, тогда можно будет использовать это на разных темах, на разных сайтах. В идеале, этот модуль должен еще и программно создавать блок.
К тому же, вы уверены, что создать подтему гарланда для подключения одного скрипта - это хорошая идея? Или вы тоже за то, чтобы прямо в гарланде поменять info файл и положить свой кастомный скрипт в папку друпаловской темы?
Так я с самого начала сказал, что есть люди, готовый помочь за N рублей.
Дык а в чем проблема сделать модуль? Добавить два файла?
Как видишь, не каждый может.
этот бред оставлю без комментариев)))
Денис ответил выше, я лишь добавлю,
в этом случае не два а пять файлов:
info (определяем базовую тему и свои css, js)
page-front.tpl.php (копируем из дефолтной и добавляем свой блок (div) к которому будем цеплять рюшик)
script.js (тут свой код)
some_vendor.js (сторонняя либа с рюшиком - и да, тут нет смысла делать ее через libraries)
style.css (и свои стили - куда уж без них)
дополнительно - каталог images - если необходимо.
Вот и все, конец урока))
Я тоже оставлю это без комментариев ))
Согласен, что подобную задачу стоит решать на уровне темы, если рюшечки являются частью дизайна сайта. Но у нас блок со снегом в теме гарланд.
Рюшик это что такое?
Я пробовал как написали, но что то js не работает, почему?
Я создал в теме папку, пихнул туда скрипт js и прописал его в инфо файле, но не работает...
Ни чего не говорит консоль, не работает скрипт и всё
ты не поверишь, но
Бред какой, если писать нечего лучше не отвечай.
бида-печаль
ну тут же есть варианты
1. скрипт банально не подключился (смотри исходный код страницы) либо же подключен, но путь неправильный (смотри вкладку network в devtools)
2. скрипт нерабочий (то же вполне вероятно в данном случае) либо его нужно переписывать
p.s. сам себя не понимаю, когда отвечаю в топике про подключение дождика/снега, который будет идти в конкретном созданном блоке
В исходном коде нет скрипта, смотрел нет его.
такого не должно быть, если тема включена и в info добавлен scripts[] = ... и очищен кеш, то в исходном коде скрипт будет, даже если путь неправильно указан