Zend NavigationACL으로 사용하고 있습니다. 내 사용자는 서로 관계가없는 여러 역할을 가질 수 있지만 젠드 탐색은 하나의 역할 만 허용하고 ACL을 확인합니다.ZF2 탐색 사용자 지정 도우미
acceptAcl
메서드를 재정의 할 수 있도록 내비게이션에 대한 새 도우미를 등록하려면 어떻게해야합니까? 나는 간단한 보기 도우미를 작성하고 등록하려고하지만 탐색 그것에 대해 알 수 있도록
class Menu extends \Zend\View\Helper\Navigation\Menu implements \Zend\ServiceManager\ServiceLocatorAwareInterface
{
protected function acceptAcl(AbstractPage $page)
{
if (!$acl = $this->getAcl()) {
// no acl registered means don't use acl
return true;
}
$userIdentity = $this->getServiceLocator()->get('user_identity');
$resource = $page->getResource();
$privilege = $page->getPrivilege();
$allowed = true;
if ($userIdentity->id !== "1") {
if ($acl->hasResource($resource)) {
$allowed = false;
foreach ($userIdentity->rolls as $roll) {
if ($acl->isAllowed($roll['id'], $resource)) {
$allowed = true;
continue;
}
}
}
}
return $allowed;
}
public function renderMenu($container = null, array $options = array())
{
return 'this is my menu';
}
}
'view_helpers' => array(
'invokables' => array(
'myMenu' => 'Application\View\Helper\Menu',
),
),
가 어떻게이 도우미를 등록 할 수 있습니다 작동하지 않았다?
돕는 사람. 맞춤 도우미가 필요하지 않습니다. – Crisp