第一次来这里,所以请和我一起裸照。 我不得不面对以下问题,使用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>
菜单然而,当我在浏览器中启动我的应用程序时,并没有显示出来,但任何想法可能出错了,都被虚心接受。
在此先感谢卡尔·约翰逊