[Решено] Подключить js с параметром

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

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 6 февраля 2013 в 0:58

Привет!
Не выдержал, решил написать. Не могу подключить 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!!!

Комментарии

Аватар пользователя rimen rimen 6 февраля 2013 в 8:02

1. так работать и не должен.
передача параметров
<?php drupal_add_js(array('myparams' => $data), 'setting');?>
при этом параметры будут доступны в Drupal.settings.myparams, но нужно будет писать свой скрипт-обертку, и только в нем инициализировать сторонний. Так делают чаще всего.
2. а как должен скирпт сработать?

"<a href="mailto:mNigma@drupal.org">mNigma@drupal.org</a>" wrote:
Не могу подключить js с параметром

под параметром подразумевается глобальная переменная?
тогда может попробовать подключить скрипт inline
3. #attributes - массив html атрибутов, при это если не указать #value, то получите строку вида
<script load="name-addons" />,
если указать, например '#value' => '', то
<script load="name-addons"></script> - см theme_html_tag()

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 7 февраля 2013 в 3:18

rimen, спасибо!
2 нет, не глобальный.
3 если так подключаю, не срабатывает.

Вот с первым нужно разобраться что к чему.
Конечный итог должен быть таким < CKРИПT src="...." load='name_addons'> < / CKРИПT >

Аватар пользователя rimen rimen 7 февраля 2013 в 7:46

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 >

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 8 февраля 2013 в 5:10

"rimen" wrote:
так пробовали?

Странно, я так подключал и у меня тег СКРИПТ не закрывался. И что делал не так, пока понять не могу.
Все в норме, работает. Большое спасибо!

Аватар пользователя rimen rimen 13 февраля 2013 в 1:29

"<a href="mailto:mNigma@drupal.org">mNigma@drupal.org</a>" wrote:
Странно, я так подключал и у меня тег СКРИПТ не закрывался.

"rimen" wrote:
3. #attributes - массив html атрибутов, при это если не указать #value, то получите строку вида
,
если указать, например '#value' => '', то