Я пытаюсь создать пользовательскую навигацию для ZEND навигации, но у меня есть два вопроса:Zend Navigation Пользовательские Rendering
- Как передать переменные пользовательские частичное PHTML, или, если это возможно?
- Как установить класс через все активное дерево меню?
Это мой код до сих пор:
в контроллере:
$config = new Zend_Config($menu);
$nav = new Zend_Navigation();
$nav->addPages($config);
$this->view->nav = $nav;
в представлении:
<?php echo $this->navigation($this->nav)->menu()->setPartial('menu.phtml')->render(); ?>
и мой частичный:
<?php
function genMenu($container)
{
foreach ($container as $page)
{
echo '<li>';
$href = $page->uri;
$target = '_self';
echo '<a href="' . $href . '" target="' . $target . '">' . $page->label . '</a>';
if (!empty($page->pages))
{
echo '<ul>';
genMenu($page->pages);
echo '</ul>';
}
echo '</li>';
}
}
echo '<ul>';
genMenu($this->container);
echo '</ul>';
Спасибо всем заранее!
Спасибо за исправление на моем коде, я вроде как новый на zend atm! Тем не менее, у меня такие же сомнения. Как передать вары на частичные, и как узнать активное дерево. Это очень поможет мне в моем частичном построителе: \ – MGP
@MGP в любое время, когда вы называете частичное или partiaLoop что одна из вещей, которую требует конструктор, - это модель (например, read array() или object()). renderPartial() не является исключением, первым аргументом является модель, в данном случае объект Zend_Navigation_Container. – RockyFord
и как получить активное дерево, например, для добавления определенного класса ко всем ссылкам в этом дереве (или панировке) к последнему ребенку? – MGP