我在使用Zend_Navigation显示面包屑时遇到了问题。
我有一个单独的控制器,它接受一个参数来查询数据库中的文章。因此,如果您指向“文章/视图/ id / 3”,它将返回id为3的文章。我遇到的问题是让breadcrumbs在这种逻辑下工作。理想情况下,当转到“文章/视图/id/3”时,我希望面包屑是:“文章> Article_Name”
我的代码可以很好地呈现导航和子导航,只是在面包屑上失败了,目前没有显示任何内容。
下面是我的代码:
1)采用XML格式的站点导航,如下所示:
<?xml version="1.0"?>
<zend-config xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/">
<nav>
<articles>
<label>Articles</label>
<uri>/</uri>
<order>1</order>
<active>1</active>
<visible>1</visible>
<pages>
<article_one>
<label>Article One</label>
<uri>/articles/view/id/81e728d9d4c2f636f067f89cc14862c</uri>
<order>1</order>
<active>1</active>
<visible>1</visible>
</article_one>
</pages>
</articles>
</nav>
</zend-config>2)导航(在布局中):
$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
$nav = new Zend_Navigation($config);
$view = new Zend_View();
$view->navigation($nav);
echo $view->navigation()->menu();3)面包屑(在文章控制器中):
public function init() {
$uri = $this->_request->getPathInfo();
$activeNav = $this->view->navigation()->findByUri($uri);
$activeNav->class = "selected";
$activeNav->active = true;
}4)面包屑(在布局中):
//Doesn't display anything[/B]
echo $view->navigation()->breadcrumbs()->setLinkLast(true);提前感谢您的帮助!
发布于 2011-03-23 05:15:41
URI用于什么参数?
其中是参数controller和action
您可以在此处查看http://framework.zend.com/manual/ru/zend.view.helpers.html或源代码Zend/View/Helper/Navigation/Breadcrumbs.php
发布于 2011-04-04 20:36:26
为了指出这一点,Actualli breadcrumbs与uri一起工作。
问题是$this->view->navigation()->findByUri($uri)返回一个空对象;因为即使在引导程序中设置了它,也看不到它。
在您的引导文件中添加Zend_Registry::set('Zend_Navigation', $navigation);应该可以解决这个问题。
干杯
发布于 2011-11-11 18:37:17
尝试将/添加到URL。我也有同样的问题。
https://stackoverflow.com/questions/5396323
复制相似问题