介紹
我的工作有每頁兩個導航菜單的一個非常大的網站時,顯示的是孩子的路線導航的活動狀態。第一個是全局導航,鏈接到網站的各個部分,第二個是全局導航菜單中所選項目的部分級導航。Zend框架2:使用多個導航
爲了提高效率,我們決定始終加載Navigation
服務中的整個站點導航結構是不明智的。相反,我們選擇始終加載全局導航結構,但隨後使用基於加載部分生成的單獨的Navigation
。
配置
全球Navigation
看起來是這樣的:
array(
array(
'type' => 'mvc',
'label' => 'Section 1',
'route' => 'section1'
),
array(
'type' => 'mvc',
'label' => 'Section 2',
'route' => 'section2'
),
array(
'type' => 'mvc',
'label' => 'Section 3',
'route' => 'section3'
)
)
和動態加載的科級Navigation
看起來是這樣的:
array(
array(
'type' => 'uri',
'label' => 'Group 1',
'pages' => array(
array(
'type' => 'mvc',
'label' => 'Page 1',
'route' => 'section1/page1'
),
array(
'type' => 'mvc',
'label' => 'Page 2',
'route' => 'section1/page2'
),
array(
'type' => 'mvc',
'label' => 'Page 3',
'route' => 'section1/page3'
),
)
)
// ... more groups
)
問題
的問題是即全球Navigation
只有在當前正在請求高層路線時纔有活動項目(例如, section1
)。只要用戶導航到該部分內的其他頁面(例如section1/page1
),全局Navigation
就不再有活動項目。
什麼受審
通過Menu
插件和Page
類的源讀取後,它看起來像它僅支持按名稱精確的路線匹配和設置controller
選項不起作用。
只是爲了測試,我們添加了部分Navigation
全球Navigation
它將在標準配置來完成和所需的結果顯示,其中全球產品總是在部分的所有路由有效。
有什麼辦法可以使這個工作與當前配置?如果不是,你會建議如何使結構能夠工作?