【问题标题】:Zend Framework 2 Navigation Submenu (Top menu)Zend Framework 2 导航子菜单(顶部菜单)
【发布时间】:2014-01-25 07:59:51
【问题描述】:

我正在使用 ZF2 和 bootstrap 构建一个菜单,并且我已经有了这种菜单:

Home | Users | Options

但现在我需要子菜单,但我找不到这样做的方法。我需要悬停菜单项(例如:用户),然后显示“列表”、“添加”、“编辑”

非常感谢任何帮助。

谢谢

【问题讨论】:

    标签: php twitter-bootstrap frameworks zend-framework2


    【解决方案1】:

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

    在您的配置文件中,例如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',
                ),
            )
        )
    );
    

    在您的布局文件中,例如查看/布局/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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多