加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Zend Framework 2导航子菜单(顶级菜单)

发布时间:2020-12-13 17:26:12 所属栏目:PHP教程 来源:网络整理
导读:我正在使用ZF2和bootstrap构建菜单,我已经有了这种菜单: Home | Users | Options 但现在我需要子菜单,但我找不到办法.我需要像悬停菜单项(例如:用户),然后显示’列表’,’添加’,’编辑’ 我真的很感激任何帮助. 谢谢 解决方法 您可以通过局部视图实现此目
我正在使用ZF2和bootstrap构建菜单,我已经有了这种菜单:

Home | Users | Options

但现在我需要子菜单,但我找不到办法.我需要像悬停菜单项(例如:用户),然后显示’列表’,’添加’,’编辑’

我真的很感激任何帮助.

谢谢

解决方法

您可以通过局部视图实现此目的.

在你的配置文件,例如config / autoload / global.php:

return array(

    // Your others config arrays

    'navigation' => array(
        'default' => array(
            array(
                'label' => 'Home','route' => 'home',),array(
                'label' => 'User','route' => 'user','pages' => array(
                    array(
                        'label' => 'List','route' => 'list',array(
                        'label' => 'Add','route' => 'add',array(
                        'label' => 'Edit','route' => 'edit',array(
                'label' => 'Options','route' => 'options',)
    )
);

在您的布局文件中,例如view / layout / layout.phtml:

<nav>
    <?php
    echo $this->navigation('navigation')
              ->menu()
              ->setPartial('partial/menu')
              ->render();
    ?>
</nav>

部分视图,这里是view / partial / menu.phtml:

<ul>
<?php
foreach ($this->container as $page)
{
    $hasChildren = $page->hasPages();
    if( ! $hasChildren)
    {
        ?>
        <li><a href="<?php echo $page->getHref(); ?>"><?php echo $page->getLabel(); ?></a></li>
        <?php
    }
    else
    {
        ?>
        <li>
            <a href="<?php echo $page->getHref(); ?>"><?php echo $page->getLabel(); ?></a>
            <ul>
            <?php
            foreach($page->getPages() as $child)
            {
                ?>
                <li><a href="<?php echo $child->getHref(); ?>"><?php echo $child->getLabel(); ?></a></li>
                <?php
            }
            ?>
            </ul>
        </li>
        <?php
    }
}
?>
</ul>

如果你需要CSS样本,你可以在这个答案中找到一些:

https://stackoverflow.com/a/13328340/3294723

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读