Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend框架2导航。向子菜单递归添加ul类_Php_Html_Navigation_Zend Framework2_View Helpers - Fatal编程技术网

Php Zend框架2导航。向子菜单递归添加ul类

Php Zend框架2导航。向子菜单递归添加ul类,php,html,navigation,zend-framework2,view-helpers,Php,Html,Navigation,Zend Framework2,View Helpers,我正在使用视图辅助导航并尝试将类添加到子菜单。 方法setUlClass()仅为菜单的第一级添加类 <div id="sidebar-left" class="col-xs-2 col-sm-2"> <ul class="nav main-menu"> <li class="active"> <a href="/administrator"> <i class="

我正在使用视图辅助导航并尝试将类添加到子菜单。 方法setUlClass()仅为菜单的第一级添加类

<div id="sidebar-left" class="col-xs-2 col-sm-2">
    <ul class="nav main-menu">
        <li class="active">
            <a href="/administrator">
                <i class="fa fa-dashboard"></i>
                <span class="hidden-xs"> Home</span>
            </a>
        </li>
        <li>
            <a href="/administrator/content/news">
                <i class="fa fa-bullhorn"></i>
                <span class="hidden-xs"> News</span>
            </a>
            <ul>   <!-- <-- here want to add class -->
                <li>
                    <a href="/administrator/content/add-news">
                        <i class="fa fa-plus"></i>
                        <span class="hidden-xs"> Add News</span>
                    </a>
                </li>
            </ul>
        </li>
    </ul> 
</div>

module.config.php文件如下:

'navigation' => array(
    'default' => array(
        array(
            'label' => '<i class="fa fa-bullhorn"></i><span class="hidden-xs"> News</span>',
                'route' => 'admin/default',
                'controller' => 'content',
                'action' => 'news',
                'resource'  => 'Admin\Controller\Admin',
                'pages' => array(
                    array(
                        'label' => '<i class="fa fa-plus"></i><span class="hidden-xs"> Add News</span>',
                        'route' => 'admin/default',
                        'controller' => 'content',
                        'action' => 'add-news',
                        'resource'  => 'Admin\Controller\Admin',
                    )
                )
            ),
        ),
    ),
“导航”=>数组(
'默认'=>数组(
排列(
“标签”=>“新闻”,
'路由'=>'管理员/默认',
“控制器”=>“内容”,
“操作”=>“新闻”,
'resource'=>'Admin\Controller\Admin',
“页面”=>数组(
排列(
“标签”=>“添加新闻”,
'路由'=>'管理员/默认',
“控制器”=>“内容”,
“操作”=>“添加新闻”,
'resource'=>'Admin\Controller\Admin',
)
)
),
),
),
在视图中调用渲染方法:

<?php echo $this->navigation('navigation')->menu()->setUlClass('nav main-menu')->escapeLabels(false); ?>


如何做到这一点?

我认为ZF2中的类代码与ZF1中的类代码相同。 通过设置配置选项没有解决方案,您可以在\Zend\View\Helper\Navigation\Menu::renderNormalMenu()中看到此代码块:

if ($depth > $prevDepth) {
    // start new ul tag
    if ($ulClass && $depth ==  0) {
        $ulClass = ' class="' . $escaper($ulClass) . '"';
    } else {
        $ulClass = '';
    }
        $html .= $myIndent . '<ul' . $ulClass . '>' . PHP_EOL;  
 }

使用自定义部分并在那里执行如何?是的,已经执行了
ul.nav.main-menu ul {
  ...
}