1

我像这样使用 Zend Framework 站点地图:

echo $this->view->navigation()->sitemap();

在控制器中。

它工作得很好,除了一个问题:

我有一个用于网络公共部分的大导航以及客户端部分导航。

问题是,对于 ACL 禁止访客进入的任何条目,有:

<url><loc>http://mywebsite.com/sitemap.xml/#</loc></url>

如何告诉站点地图不要打印被禁止的条目?在我当前的设置中,站点地图为 ACL 禁止的所有导航条目打印上面的行。

谢谢,大卫

4

1 回答 1

0

Zend 框架 2.0

您的导航视图助手不知道服务管理器中的 ACL 的任何内容。因此,您必须将 ACL 和当前角色传递给视图助手。

这可以通过使用 AbstractNavigationHelper 的静态设置器在应用程序范围内完成。

use Zend\Navigation\Service\AbstractNavigationFactory;
AbstractNavigationHelper::setDefaultRole('your current role');
AbstractNavigationHelper::setDefaultAcl('ACL object');

或直接在调用视图助手时。

echo $this->view->navigation()->sitemap()
    ->setRole('your current role')
    ->setAcl('ACL object')
    ->render();
于 2013-10-24T09:11:14.530 回答