簡體   English   中英

Zend 2導航渲染活動類丟失

[英]Zend 2 Navigation rendering active class missing

我確實在渲染zf2中存在問題。 我沒有找到其他人遇到這個問題。 但是也許您有一個線索。

盡管似乎一切都配置正確,但由於一切正常,渲染zend導航不會將活動路徑標記為class =“ active”。

這是我的module.config.php的一部分:

'service_manager' => array(
        'factories' => array(
            'app_navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
            'User\Acl\Service' => 'User\Acl\ServiceFactory',
            'User\Auth\Service' => 'User\Authentication\ServiceFactory',
        ),
    ),

//global config key for all navigation configurations
'navigation' => array(
     //name of the DefaultNavigation created by DefaultNavigationFactory
     'default' => array(
         //config of first page
         'welcome' => array(
             'label' => 'Home',
             'route' => 'welcome',
             'controller' => 'People\Controller\PeopleController',
             'action' => 'welcome',
             'type' => 'uri',
             'uri' => '/welcome',
             'module'    => 'TheGlobalDatabase',
         ),
...

這是路線:

     'router' => array(       
        'routes' => array(
           'welcome' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/welcome',
                    'defaults' => array(
                        'controller' => 'People\Controller\People',
                        'action'     => 'welcome',
                    ),
                ),
            ),

我確實在布局中回顯導航,如下所示:

echo $this->navigation()->menu()->renderMenu('app_navigation',array('ulClass'=>'nav navbar-nav welcome')); 

也許您有一個提示,還有什么要檢查的。

謝謝你們!

您在路線和導航中都缺少或不正確的配置。

導航

  • 使用數組配置時,您將永遠不需要使用type參數。 確定類型是uri還是mvc是導航工廠的工作。 只需刪除它的配置。

  • 導航controller應該是controller的注冊服務名稱,而不是完全合格的類名稱。 'controller' => 'People\\Controller\\People'

  • 另外,使用路由參數時, 無需在導航配置中指定controlleraction

通過這些更改,導航非常簡單。

 'welcome' => array(
   'label' => 'Home',
   'route' => 'welcome'
 );

路線

它可能是一條Literal路線(因為沒有傳遞任何參數),並且您缺少may_terminate參數,如果您希望在該路線上進行匹配,將需要該參數。

'welcome' => array(
    'type'    => 'literal',
    'options' => array(
        'route'    => '/welcome',
        'defaults' => array(
            'controller' => 'People\Controller\People',
            'action'     => 'welcome',
        ),
    ),
    'may_terminate' => true,
),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM