2
這似乎是一個類似的問題,但沒有爲我工作。我覺得答案必須在那裏 - 這不是一個不常見的問題 - 但我沒有使用正確的搜索條件。ZF2導航:使用非默認參數激活路線?
ZF2: Active branch for child routes in zend navigation. How?
以下是我定義的路由:
'router' => array(
'routes' => array(
'platform' => array(
'type' => 'segment',
'options' => array(
'route' => '/platform[/:controller/:region/:id[/:action]]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'region' => '[0-9a-z]{2,4}',
'id' => '[0-9a-z-]+',
),
'defaults' => array(
'controller' => 'platform',
'action' => 'index',
),
),
),
),
),
這裏是我的導航:
'navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'home',
),
array(
'label' => 'Account',
'route' => 'zfcuser',
'pages' => array(
array(
'label' => 'Dashboard',
'route' => 'zfcuser',
),
array(
'label' => 'Sign In',
'route' => 'zfcuser/login',
),
array(
'label' => 'Sign Out',
'route' => 'zfcuser/logout',
),
array(
'label' => 'Register',
'route' => 'zfcuser/register',
),
),
),
array(
'label' => 'Platform v2 BETA',
'route' => 'platform',
),
),
),
我在我的佈局顯示每一個頁面上的頂級菜單像這樣:
<div class="nav-collapse collapse">
<?php echo $this->navigation('navigation')
->menu()
->setMinDepth(0)
->setMaxDepth(0)
->setUlClass('nav')
->render(); ?>
</div>
我的導航顯示正確,併爲家庭和zfcuser路線啓用了正確的部分。這是我遇到問題的平臺路線。如果我去/platform
菜單將被激活。但是,當我瀏覽模塊中的任何其他頁面(例如,/platform/pendulum/na/af455e
)時,沒有活動菜單並且沒有面包屑。問題似乎是這些其他頁面上的控制器/操作與路由指定的默認值不同。
我該如何獲得任何成功的路線匹配以使菜單激活?
這個答案沒有任何關係這個問題。 – Siwei