zend-framework2 - Zend Navigation、ACL 和 Partials

标签 zend-framework2 zend-navigation

我有带 Acl 和角色的 Zend Navigation 对象:

echo $this->navigation()->menu('navigation')
->setAcl($this->acl)
->setRole(($this->user ? 'user' : 'guest'))
->render();

及其完美的工作(隐藏了一些页面)

但是

当我使用自定义部分时:

echo $this->navigation()->menu('navigation')
->setAcl($this->acl)
->setRole(($this->user ? 'user' : 'guest'))
->setPartial('partial/twitterBootstrapNavHeadUl.phtml')
->render();

和这部分内容

foreach ($this->container as $page)
    echo $this->navigation()->menu()->htmlify($page);

它传递给部分 $this->container with ALL pages(通过 acl 设置为不可用)

也许我应该将 acl 等传递给 partial

foreach ($this->container as $page)
    echo $this->navigation()->menu()->setAcl($this->acl)->setRole(($this->user ? 'user' : 'guest'))->htmlify($page); // ?????????????????????

但是如何实现呢?

有什么我应该做/知道的吗?

最佳答案

foreach ($this->container as $page){
    if($this->navigation()->accept($page))
        echo $this->navigation()->menu()->htmlify($page);
}

为什么?在自定义 View 中,您必须自己运行检查。

关于zend-framework2 - Zend Navigation、ACL 和 Partials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17918463/

相关文章:

zend-framework - 如何从 Zend Navigation XML 向 <li> 添加类名

php - 使用 zend_navigation 的 zend headtitle

php - 找不到目标实体 "some entity"

forms - zf2 表单验证器 DateTime dateInvalidDate

zend-framework - zf2 Controller 中的init方法

zend-framework - 带动态 URL 参数的 Zend_Navigation

php - 我应该在哪里填充我的 Zend_Navigation 容器?

zend-framework2 - Zend 导航和 RBAC

php - 如何在 zend 框架 2 中邮件传输失败时返回 false?

php - zend Framework 2 - 使用验证器比较2个输入?