Привет!
Не выдержал, решил написать. Не могу подключить js с параметром, укажите что не так!!!
Подключаю ContentFlow т.к. перепробовав все модули jq карусель - не один не подошел по требованиям.
Нужно подключить с разными параметрами в зависимости от типа материала ($vars['node']->type) и отдельно для главной без параметров(делаю в _preprocess_page).
Вот для главной без параметров все гуд drupal_add_js(drupal_get_path('theme', 'my_theme') . '/flow/contentflow.js');
А для других страниц нужно с аддонсами, т.е. добавить load="name addons" .
1 drupal_add_js(drupal_get_path('theme', 'my_theme') . '/flow/contentflow.js', array('load' => 'name addons'); - так не работает (не выводит load)
2 так подключает, но почему-то не срабатывает скрипт.
3 так drupal_add_html_head($element, 'slider'); где $element=array('#tag' => 'script','#attributes' => array('load'=>'name addons'......), подключает, но не закрывает тег script - т.е. не срабатывает + весь js валится.
Если прописать в template->html.tpl.php, все гуд, но не выход.
SOS!!!
Комментарии
1. так работать и не должен.
передача параметров
<?php drupal_add_js(array('myparams' => $data), 'setting');?>
при этом параметры будут доступны в Drupal.settings.myparams, но нужно будет писать свой скрипт-обертку, и только в нем инициализировать сторонний. Так делают чаще всего.
2. а как должен скирпт сработать?
под параметром подразумевается глобальная переменная?
тогда может попробовать подключить скрипт inline
3. #attributes - массив html атрибутов, при это если не указать #value, то получите строку вида
<script load="name-addons" />
,если указать, например '#value' => '', то
<script load="name-addons"></script>
- см theme_html_tag()rimen, спасибо!
2 нет, не глобальный.
3 если так подключаю, не срабатывает.
Вот с первым нужно разобраться что к чему.
Конечный итог должен быть таким < CKРИПT src="...." load='name_addons'> < / CKРИПT >
3. так пробовали?
<?php
$element = array(
'#tag' => 'script',
'#attributes' => array(
'src' => drupal_get_path('theme', 'my_theme') . '/flow/contentflow.js',
'load' => 'name_addons',
),
'#value' => '',
);
drupal_add_html_head($element, 'slider');
?>
на выходе должна быть как раз < CKРИПT src="...." load='name_addons'> < / CKРИПT >
Странно, я так подключал и у меня тег СКРИПТ не закрывался. И что делал не так, пока понять не могу.
Все в норме, работает. Большое спасибо!