【问题标题】:Drupal 6x - Primary Links jquery accordion menuDrupal 6x - 主要链接 jquery 手风琴菜单
【发布时间】:2010-10-18 20:34:31
【问题描述】:

我正在尝试在 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>

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

  • 领土
    • 地图
    • 图库
  • 产品
    • 葡萄酒
    • 眼镜
  • 联系方式

开发主题模块说我必须重写“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>';

}

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

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

更新

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

再见

【问题讨论】:

    标签: drupal drupal-6 drupal-theming


    【解决方案1】:

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

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

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

    Long version

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-02-03
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 2014-03-31
        • 2015-07-22
        • 1970-01-01
        • 2023-03-04
        相关资源
        最近更新 更多