zend框架模块

时间:2015-10-24 02:54:16

标签: php zend-framework2

我在Application/config/module.config.php的应用程序模块中进行了导航的以下配置:

    'navigation' => array(
        'default' => array(
            array(
                'label' => 'Home',
                'route' => 'home'
            )            
        )
    )

我在Cortana/config/module.config.php中的cortana模块中导航的配置如下:

    'navigation' => array(
        'default' => array(
            array(
                'label' => 'Home',
                'route' => 'cortana-home'
            ),
            array(
                'label' => 'Resources',
                'route' => 'cortana-resources'
            ),
            array(
                'label' => 'Reports',
                'route' => 'cortana-reports'
            ),
            array(
                'label' => 'Services',
                'route' => 'cortana-services'
            ),
            array(
                'label' => 'System',
                'route' => 'cortana-system'
            )
        )
    )

我在我的Cortana模块中使用了布局。这是导航代码:

           <div class="collapse navbar-collapse">
                    <?php echo $this->navigation('navigation')
                                    ->menu()
                                    ->setMinDepth(0)
                                    ->setMaxDepth(0)
                                    ->setUlClass('nav navbar-nav');
                    ?>
                </div><!--/.nav-collapse -->

最后,不幸的是我的结果编译了以下HTML:

                <li>
        <a href="&#x2F;cortana&#x2F;public&#x2F;">Home</a>
    </li>
    <li class="active">
        <a href="&#x2F;cortana&#x2F;public&#x2F;cortana">Home</a>
    </li>
    <li>
        <a href="&#x2F;cortana&#x2F;public&#x2F;cortana&#x2F;resources">Resources</a>
    </li>
    <li>
        <a href="&#x2F;cortana&#x2F;public&#x2F;cortana&#x2F;reports">Reports</a>
    </li>
    <li>
        <a href="&#x2F;cortana&#x2F;public&#x2F;cortana&#x2F;services">Services</a>
    </li>
    <li>
        <a href="&#x2F;cortana&#x2F;public&#x2F;cortana&#x2F;system">System</a>
    </li>
</ul>                </div><!--/.nav-collapse -->

如您所见,有2个家庭导航页面。 看起来代码合并了Application导航模块和Cortana导航模块。

我需要的是为Cortana模块导航,然后为Application模块单独导航。

更新

我还尝试将navigation密钥更改为cortana-navigation以下内容:

/Cortana/config/module.config.php

'service_manager' => array(       
    'factories' => array(
        'cortana-navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory'
    )
),

    'cortana-navigation' => array(
        'default' => array(
            array(
                'label' => 'Home',
                'route' => 'cortana-home'
            ),
            array(
                'label' => 'Resources',
                'route' => 'cortana-resources'
            ),
            array(
                'label' => 'Reports',
                'route' => 'cortana-reports'
            ),
            array(
                'label' => 'Services',
                'route' => 'cortana-services'
            ),
            array(
                'label' => 'System',
                'route' => 'cortana-system'
            )
        )
    )

然后在我的Cortana layoutCortana/view/layout/layout.phtml

 <div class="collapse navbar-collapse">
                        <?php echo $this->navigation('cortana-navigation')
                                        ->menu()
                                        ->setMinDepth(0)
                                        ->setMaxDepth(0)
                                        ->setUlClass('nav navbar-nav');
                        ?>
                    </div><!--/.nav-collapse -->

现在编译HTML的结果是:

 <ul class="nav&#x20;navbar-nav">
            <li>
            <a href="&#x2F;cortana&#x2F;public&#x2F;">Home</a>
            </li>
            </ul>                </div><!--/.nav-collapse -->

我很遗憾没有解释为什么它现在使用Application导航(navigation)而不是cortana-navigation),但它确实意味着它对{{{}的更改做出了回应1}}

第二次更新

我注意到文件`Zend / Navigaiton / Service / DefaultNavigationFactory.php&#39; :

factory

这可能意味着使用默认名称

0 个答案:

没有答案