Искам навигацията да показва само елементи, разрешени от Acl, но имам проблеми със свързването на навигация с Acl - когато го направя, както е показано в официален пример или някои други ресурси в интернет, моята навигация все още показва всички елементи като без Acl.
В Bootstrap правя:
$view->navigation()->setContainer($container);
$view->navigation()->setAcl($acl)->setRole("1");
Където :
- $view е Zend_View обект
- $container е Zend_Navigation обект
- $acl е Zend_Acl обект
Имам първоначалния навигационен масив, настроен както трябва, acl и навигационните обекти също изглеждат добре и съдържат това, което трябва да съдържат, така че няма да ги публикувам тук.
В момента го накарахме да работи с помощта на конструкции като:
if(!$acl->isAllowed(/* auth data, controller, action */)) {
unset(/* this page from pages array */);
}
но това изобщо не е красиво и не е като едноредов в официалния пример.
Въпросът ми е какъв най-вероятно е проблемът ми тук и какви са най-често срещаните проблеми и грешки, които разработчиците правят, докато комбинират Zend_Navigation със Zend_Acl?
Може би мога да намеря решение сред тях и това може да помогне на други разработчици, които имат проблеми с този проблем.