Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Customizing Zend\View\Helper\Navigation\Menu
namespace Application\View\Helper\Navigation;
use Zend\View\Helper\Navigation\Menu;
class CustomMenu extends Menu
// override methods as needed
namespace Application\View\Helper\Navigation;
use Zend\ServiceManager\ConfigInterface;
use Zend\View\Helper\Navigation\PluginManager;
class CustomPluginManager extends PluginManager
public function __construct(ConfigInterface $configuration = null)
= 'Application\View\Helper\Navigation\CustomMenu';
echo $this
->setPluginManager(new \Application\View\Helper\Navigation\CustomPluginManager())
Copy link

SmasherHell commented Oct 7, 2014

that solution work but I can't accept to construct new object in views for testing matters.

After some research, I found that Navigation Helper is not shared, or it is the twig module that mess up sharing, and if I try to add custom plugin to Navigation (such as a new menu) in module bootstrap, it is just ineffective. But I found an interesting thing in reading Navigation Helper construction in


the Navigation plugin manager can be configured in module, global or local config under the key navigation_helpers. That is an easy way to extends Navigation with plugins.

Ex :


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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment