Skip to content

Instantly share code, notes, and snippets.

Created November 9, 2012 11:53
Show Gist options
  • Save twogood/4045344 to your computer and use it in GitHub Desktop.
Save twogood/4045344 to your computer and use it in GitHub Desktop.
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

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