我正在尝试在jquery手风琴菜单(link text)中转换主链接菜单块。 我已经测试了Drupal的Accordion Menu模块,但它对我不起作用。
对于我的主链接块我会有或多或少的这个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 Module说我必须覆盖“theme_menu_item”功能,但我不知道如何继续。我是否可以在“template.php”文件中仅编辑此功能?
我确信jQuery和jQuery UI运行良好,因为我已经使用page.tpl.php中的上述代码对它们进行了测试。
有什么想法吗?
谢谢
再见
EDIT
我已经阅读了很多文档和drupal论坛,但我找不到类似的请求。我只需编辑主要链接html而无需使用此代码将id标记添加到ul
function basic_menu_tree($tree) {
return '<ul id="accordion" class="menu">'. $tree .'</ul>';
}
问题来自于孩子ul,实际上上面的函数也添加了id =“accordion”标签也对于孩子ul对jquery脚本有不良影响
我想只自定义Primary Link菜单块html,我不敢相信没有解决方案...... 感谢
我已经解决了在template.php文件中使用上面的函数,并通过jquery脚本将头类添加到主链接父类来设置jquery ui accordion header options(http://jqueryui.com/demos/accordion/#option-报头)!
再见
答案 0 :(得分:0)
覆盖主题功能是主题中最基本的功能。
简短版本是,如果您创建名为[theme_name]_menu_item
的函数,该函数将用于生成html而不是默认值:theme_menu_item
。所以,这可以在template.php
。
请注意,这些更改会影响所有菜单项,而不仅仅是主链接菜单中的项目。
答案 1 :(得分:0)
将jquery手风琴附加到标准主菜单输出有什么问题?这就是你需要的一切。