第一次來這裏,所以請和我一起裸照。 我不得不面對以下問題,使用zend框架,特別是zend_nav創建一個可通過layout/layout.phtml頁面傳遞的可重用菜單。這些是各自文件中的代碼片段。Zend_Nav在zend框架問題中得到菜單顯示
第一應用程序/ CONFIGS/navigation.xml,
<configdata>
<nav>
<label>Home</label>
<controller>index</controller>
<action>index</action>
<pages>
<add>
<label>Add</label>
<controller>post</controller>
<action>add</action>
</add>
<login>
<label>Admin</label>
<controller>login</controller>
<action>login</action>
</login>
</pages>
</nav>
</configdata>
此然後被傳遞到在bootstrap.php中文件(僅示出具體的方法)的對象
protected function __initNavigation(){
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
$config = new Zend_Config_Xml(APPLICATION .'/config/navigation.xml', 'nav');
$container = new Zend_Navigation($config);
$view->navigation($container);
}
和最後在視圖layout.phtml中,對象應該返回菜單
<!-- application/layouts/scripts/layout.phtml -->
<?php echo $this->doctype() ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Zend Blog !</title>
<?php echo $this->headLink()->appendStylesheet('/css/global.css')?>
</head>
<body>
<div id="header">
<div id="header-logo">
<b>Blog Me !</b>
</div>
</div>
<div id="menu">
<?php echo $this->navigation()->menu() ?>
</div>
<div id="content">
<?php echo $this->layout()->content ?>
</div>
</body>
</html>
菜單然而,當我在瀏覽器中啓動我的應用程序時,並沒有顯示出來,但任何想法可能出錯了,都被虛心接受。
在此先感謝卡爾·約翰遜