Zend breadcrumbs. Как поменять ссылку в хлебных крошках из контроллера?
Есть строка навигации (хлебные крошки), например: Home->Projects->Test.
Как изменить ссылку в Projects из контроллера?
Как изменить ссылку в Projects из контроллера?
1 ответов
Полученный результат можете прогнать через регулярное выражение.
Я не большой знакток ядра Zend_Navigation и по этому не знаю, сколько рыться нужно чтобы найти именно ту часть кода которая отвечает за получения списка, в ней определить, что уровень второй и проверить соответствие на то, что ссылка является "Projects".
Если вас инетресует изменение самого объекта "Projects" и сылки на него отовсюду, то я не понял вопроса, и это делать надо не через контроллер.
Zend_Navigation обладает достаточным функционалом для поиска страниц по атрибутам.
В контроллере можешь вытянуть контейнер из ViewHelpera
$container = $this->view->navigation()->getContainer();
$page = $container ->findOneBy($property, $value); //$property может быть чем угодно, id, class, banana
if($page instanceof Zend_Navigation_Page_Uri){
$page->setUri('http://banana.com');
}else{
$page->setController('banana');
$page->setAction('banana');
$page->setRoute('banana');
$page->setParams(array('banana' => 'banana'));
}
$page = $container ->findOneBy($property, $value); //$property может быть чем угодно, id, class, banana
if($page instanceof Zend_Navigation_Page_Uri){
$page->setUri('http://banana.com');
}else{
$page->setController('banana');
$page->setAction('banana');
$page->setRoute('banana');
$page->setParams(array('banana' => 'banana'));
}