Я пытаюсь преобразовать свой основной блок меню ссылок в меню аккордеона jquery ( текст ссылки ).
Я протестировал модуль Accordion Menu для Drupal, но он не работает для меня.
Для моего блока первичных ссылок у меня будет более или менее такой вывод html:
<ul id="accordion">
<li>
<a href="#recent" class="heading">Recent Entries</a>
<ul id="recent">
<li><span class="date">01.19.2009</span> <a href="#">Recent Entry Title</a></li>
<li><span class="date">01.15.2009</span> <a href="#">Recent Entry Title</a></li>
<li><span class="date">01.13.2009</span> <a href="#">Recent Entry Title</a></li>
<li><span class="date">01.11.2009</span> <a href="#">Recent Entry Title</a></li>
<li><span class="date">01.10.2009</span> <a href="#">Recent Entry Title</a></li>
</ul>
</li>
<li>
<a href="#recent" class="heading">Recent Entries</a>
</li>
<li>
<a href="#popular" class="heading">Popular Entries</a>
<ul id="popular">
<li><span class="date">08.16.2008</span> <a href="#">Popular Entry Title</a></li>
<li><span class="date">06.12.2008</span> <a href="#">Popular Entry Title</a></li>
<li><span class="date">04.12.2008</span> <a href="#">Popular Entry Title</a></li>
<li><span class="date">06.12.2007</span> <a href="#">Popular Entry Title</a></li>
<li><span class="date">03.12.2007</span> <a href="#">Popular Entry Title</a></li>
</ul>
</li>
<li>
<a href="#categories" class="heading">Categories</a>
<ul id="categories">
<li><a href="#">Category Name</a> <span class="count">7</span></li>
<li><a href="#">Category Name</a> <span class="count">4</span></li>
<li><a href="#">Category Name</a> <span class="count">15</span></li>
<li><a href="#">Category Name</a> <span class="count">29</span></li>
<li><a href="#">Category Name</a> <span class="count">8</span></li>
</ul>
</li>
</ul>
У меня есть несколько первичных ссылок с дочерью:
- Территория
- Продукты
- Контакты
Модуль Devel Themer говорит, что я должен переопределить функцию "theme_menu_item", но я не знаю, как действовать дальше. Могу ли я достичь своей цели, только редактируя эту функцию в файле "template.php"?
Я уверен, что jQuery и jQuery UI работают хорошо, потому что я проверил их с помощью приведенного выше кода в page.tpl.php.
Есть идеи?
Спасибо
Bye
EDIT
Я прочитал много документов и форумов по друпалу, но не могу найти похожий запрос. Я могу просто редактировать только первичные ссылки HTML без детей, используя этот код, который добавляет тег id к ul
function basic_menu_tree($tree) {
return '<ul id="accordion" class="menu">'. $tree .'</ul>';
}
Проблема возникает с дочерним ul, фактически вышеупомянутая функция добавляет тег id = "accordion" также к дочернему ul с плохим эффектом для скрипта jquery
Я хочу настроить только HTML-блок блока Primary Link, и я не могу поверить, что нет никаких решений ...
Спасибо
* * ОБНОВЛЕНИЕ тысячи сорок-девять
Я решил использовать вышеуказанную функцию в файле template.php и добавить класс заголовка через скрипт jquery к родителям первичной ссылки для установки параметров заголовка jquery ui accordion (http://jqueryui.com/demos/accordion/#option-header)!
Bye