Доброго дня всем уважаемым друпалавцам!
Вот стоит передо мной острейшая проблема: пытаюсь заставить работать аккордеон, который входит в состав модуля jquery-ui. Использую такой код в ноде:
drupal_add_css('modules/jquery_ui/jquery.ui/themes/ui-lightness/ui.accordion.css', 'module', 'all', FALSE);
drupal_add_js (
'$(document).ready(function(){$("#accordion").accordion({ event: "mouseover" });}); ',
'inline');
drupal_add_js('modules/jquery_ui/jquery.ui/ui/ui.accordion.js');
drupal_add_js('modules/jquery_ui/jquery.ui/ui/ui.core.js');
?>
<div id="accordion">
<h3><a href="#">Accordion Header 1</a></h3>
<div>
Accordion Content 1
</div>
<h3><a href="#">Accordion Header 2</a></h3>
<div>
Accordion Content 2
</div>
<h3><a href="#">Accordion Header 3</a></h3>
<div>
Accordion Content 3
</div>
</div>
И естественно ничего не работает. Одно время, правда, при наведении мышки на заголовок h3 резко выскакивал каждый из отдельных слоев, но потом и это само собой пропало. Буду невероятно благодарен за любую помощь.
Комментарии
jquery ui 1.6 версии надо
Я так понимаю, что у автора поста этот код заработал. У меня почему-то нет
Расскажу по пунктам что сделал:
-Установил модули jquery_ui, jquery_update, скачал jquery.ui-1.6.zip вот отсюда: http://code.google.com/p/jquery-ui/downloads/list?can=3&q=1.6
-Создал в тестовой теме mygarland папку ui, туда закинул jquery-1.2.6.js, переименовал на ui.js;
- закинул туда же ui.accordion.js и ui.core.js
-код для теста вставил в page.tpl.php:
drupal_add_js('themes/mygarland/ui/ui.js');
drupal_add_js('themes/mygarland/ui/ui.accordion.js');
drupal_add_js('themes/mygarland/ui/ui.core.js');
drupal_add_js (
'$(document).ready(function(){$("#accordion").accordion({ event: "mouseover" });}); ',
'inline');
?>
<div id="accordion">
<h3><a href="#">Accordion Header 1</a></h3>
<div>
Accordion Content 1
</div>
<h3><a href="#">Accordion Header 2</a></h3>
<div>
Accordion Content 2
</div>
<h3><a href="#">Accordion Header 3</a></h3>
<div>
Accordion Content 3
</div>
</div>
--------------------------------------
Буду благодарен за любую помощь.
Что я сделал неправильно? Помогите нубу
1. http://code.google.com/p/jquery-ui/downloads/ скачиваем последнюю версию или http://jqueryui.com/download
2. моятема.info
scripts[] = js/ui/jquery-ui.js
scripts[] = js/ui/jquery.ui.accordion.js
(из папки что скачали)
3.
$(function() { $("#accordion").accordion();
});
</script>
в page.tpl.php
4.
<h3><a href="#">Accordion Header 1</a></h3>
<div>
Accordion Content 1
</div>
<h3><a href="#">Accordion Header 2</a></h3>
<div>
Accordion Content 2
</div>
<h3><a href="#">Accordion Header 3</a></h3>
<div>
Accordion Content 3
</div>
</div>
куда хочется.
P.S. что не грузить js файлы на каждой странице, можно прикрутить на отдельную
<?php
drupal_add_js(path_to_theme() . '/js/jquery-1.4.2.js');
drupal_add_js(path_to_theme() . '/js/ui/jquery-ui.js');
drupal_add_js(path_to_theme() . '/js/ui/jquery.ui.accordion.js');
?>
одно "но" - lightbox2 модуль использовать dev версию - т.к. 1.9 будет добавлять себя во все линки. в дев версии пофиксили
у меня работает
успехов
Все сделал как сказал AlexanderPop@dr... , все равно не получается
Куда именно вставлять
$(function() { $("#accordion").accordion();
});
</script>
в page.tpl.php???
Если в body ноды вставить пути к скриптам, которые будут лежать в директории, скачанной с http://jqueryui.com/download/ (положил в папку с темой оформления)
<script src="/sites/all/themes/my_theme/jquery-ui-1.9.2.custom/js/jquery-1.8.3.js"></script>
<script src="/sites/all/themes/my_theme/jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.js"></script>
<script>
$(function() {
$( "#accordion" ).accordion();
});
</script>
А потом
<h3>First header</h3>
<div>First content panel</div>
<h3>Second header</h3>
<div>Second content panel</div>
</div>
То все работает.