首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建Nav菜单

创建Nav菜单
EN

Stack Overflow用户
提问于 2013-11-17 05:51:40
回答 1查看 101关注 0票数 0

我尝试使用以下数组并创建与我的导航的静态HTML版本相同的版本。我添加了HTML,以显示一个类别不具有任何子类的外观,并显示它本身,以及当一个类别有子项目时它是什么样子的。我已经开始使用hasSubmenu了,但现在正试图解决这个问题。

数据库查询结果

代码语言:javascript
复制
array(3) {
    [0]=> object(stdClass)#24 (3) {
        ["category_id"]=> string(1) "1"
        ["category_name"]=> string(9) "Dashboard"
        ["category_class"]=> string(9) "dashboard"
    }
    [1]=> object(stdClass)#24 (3) {
        ["category_id"]=> string(1) "2"
        ["category_name"]=> string(5) "Users"
        ["category_class"]=> string(5) "users"
    }
    [2]=> object(stdClass)#24 (3) {
        ["category_id"]=> string(1) "3"
        ["category_name"]=> string(5) "Pages"
        ["category_class"]=> string(5) "pages"
        ["links"]=> array(2) {
            [0]=> object(stdClass)#24 (2) {
                ["item_id"]=> string(1) "1"
                ["item_name"]=> string(5) "Admin Pages"
            [1]=> object(stdClass)#24 (2) {
                ["item_id"]=> string(1) "2"
                ["item_name"]=> string(5) "User Pages"
            }
        }
    }
}

HTML生成导航

代码语言:javascript
复制
<li class="active"><a href="" class="glyphicons dashboard"><i></i><span>Dashboard</span></a></li>
<li class="hasSubmenu">
    <a href="#menu_pages" data-toggle="collapse" class="glyphicons page"><i></i><span>Pages</span><span class="icon-chevron-down"></span></a>
    <ul class="collapse" id="menu_pages">
        <!-- Components Submenu Regular Items -->
        <li class=""><a href="">Item 1</a></li>
        <li class=""><a href="">Item 2</a></li>
        <li class=""><a href="">Item 3</a></li>
        <li class=""><a href="">Item 4</a></li>
        <!-- // Components Submenu Regular Items END -->
    </ul>
</li>

PHP启动导航

代码语言:javascript
复制
foreach ($dashboard_menu_categories AS $category)
{
    echo '<li>';
    if (isset($category->links))
    {
        echo '<ul class="collapse" id="menu_'.$category->category_short_name.'">';
        /* Components Submenu Regular Items */
        foreach($category->links AS $item)
        {
            echo '<li class=""><a href="">'.$item->item_name.'</a></li>';
        }
        /* Components Submenu Regular Items END */
        echo '</ul>';
    }
    echo '<a href="" class="glyphicons '.$category->category_class.'"><i></i><span>'.$category->category_name.'</span></a>';
    echo '</li>';
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-17 07:00:21

您只需要对添加到带有子菜单的类别/属性的类/属性使用条件:

代码语言:javascript
复制
foreach ($dashboard_menu_categories AS $category)
{
    $hasSubmenu = isset($category->links);

    echo '<li class="'.($hasSubmenu ? 'hasSubmenu' : '').'">';
    echo '<a href=""'.($hasSubmenu ? ' data-toggle="collapse"' : '').' class="glyphicons '.$category->category_class.'"><i></i><span>'.$category->category_name.'</span>';
    if($hasSubmenu)
        echo '<span class="icon-chevron-down"></span>';
    echo '</a>';
    if ($hasSubmenu)
    {
        echo '<ul class="collapse" id="menu_'.$category->category_short_name.'">';
        /* Components Submenu Regular Items */
        foreach($category->links AS $item)
        {
            echo '<li class=""><a href="">'.$item->item_name.'</a></li>';
        }
        /* Components Submenu Regular Items END */
        echo '</ul>';
    }
    echo '</li>';
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20027712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档