ZF2 — вспомогательная функция просмотра меню навигации

Я пытаюсь продлить Zend\View\Helper\Navigation\Menu вспомогательный класс с моим собственным и переопределить accept функция. На основе ZF2 зарегистрировать пользовательский помощник для навигации вопрос, мой класс помощника меню выглядит следующим образом:

<?php
namespace Application\View\Helper\Navigation;

use Zend\View\Helper\Navigation\Menu as ZendMenu;
use Zend\Navigation\Page\AbstractPage;

class Menu extends ZendMenu
{
public function accept(AbstractPage $page, $recursive = true)
{
$accept = true;

return $accept;
}
}

В module.config.php Я добавил это:

'navigation_helpers' => array (
'invokables' => array(
'menu' => 'Application\View\Helper\Navigation\Menu',
),
),

Этот код работает нормально в общем случае, но accept Функция в моем классе не вызывается, когда для визуализации меню используется частичный макет. Проблема может быть с вызовом renderPartial() против renderMenu() на заднем плане, но я не уверен, как решить это.

Любая помощь приветствуется.

1

Решение

Проверять, выписываться этот урок Самсонасик. Я использую взлом его примера для разработки двумерных меню. Хотя основная часть учебника посвящена динамическим меню, может помочь то, как он отображает меню.

Самсонасик называет меню так:

<div class="nav-collapse">
<?php echo $this->navigation('Navigation')->menu()->setUlClass('nav'); ?>
</div>

В моем хаке я называю свое меню так:

<?php

// ...

echo "<div class='collapse navbar-collapse'>";
echo "<ul class='nav navbar-nav'>";
echo $this->navigation('mainNavigation')
->menu()
->setPartial('partial/menu')
->render();
echo "</ul>";
echo "</div>";
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]