0

我正在尝试在 jquery 手风琴菜单(链接文本)中转换我的主链接菜单块。我已经为 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>

我与孩子有一些主要联系:

  • 领土
    • 地图
    • 画廊
  • 产品
    • 葡萄酒
    • 眼镜
  • 联系人

开发主题模块说我必须重写“theme_menu_item”功能,但我不知道如何继续。我可以只在“template.php”文件中编辑这个函数来达到我的目标吗?

我确信 jQuery 和 jQuery UI 运行良好,因为我已经使用 page.tpl.php 中的上述代码对它们进行了测试。

有任何想法吗?谢谢再见

编辑

我已经阅读了很多文档和 drupal 论坛,但我找不到类似的请求。我可以使用将 id 标记添加到 ul 的代码仅编辑没有子级的主链接 html

function basic_menu_tree($tree) {
  return '<ul id="accordion" class="menu">'. $tree .'</ul>';

}

问题来自子 ul,实际上上面的函数在子 ul 上添加了 id="accordion" 标记,对 jquery 脚本效果不好

我只想自定义主链接菜单块 html,我不敢相信没有解决方案...谢谢

更新

我已经解决了在 template.php 文件中使用上述函数并通过 jquery 脚本向主链接父级添加头类以设置 jquery ui 手风琴头选项(http://jqueryui.com/demos/accordion/#option-header)!

再见

4

2 回答 2

0

将 jquery 手风琴附加到标准主菜单输出有什么问题?这里有你需要的一切。

于 2010-10-20T14:20:04.103 回答
0

覆盖主题函数是主题中最基本的事情。

简短的版本是,如果您创建一个名为 的函数[theme_name]_menu_item,该函数将用于生成 html 而不是默认的:theme_menu_item。所以是的,这可以在你的template.php.

请注意,这些更改将影响所有菜单项,而不仅仅是主链接菜单中的那些。

长版

于 2010-10-19T07:52:53.343 回答