Следующий https://docs.zendframework.com/zend-navigation/quick-start/, Я пытаюсь сделать навигацию для моего приложения. Я зарегистрировал навигацию, я добавил DefaultNavigationFactory в сервис-менеджер, но я получаю сообщение об ошибке при попытке распечатать навигацию.
Это мой модуль / Application / config / module.config.php:
namespace Application;
use Zend\Navigation\Service\DefaultNavigationFactory;
use Zend\ServiceManager\Factory\InvokableFactory;
use Zend\View\Helper\Navigation;
return [
'navigation' => [
'default' => [
/* ... */
]
] ,
'service_manager' => [
'factories' => [
'navigation' => DefaultNavigationFactory::class,
],
],
];
Но когда $this->navigation('default')->menu()
я получаю эту ошибку, за исключением трассировки стека:
Fatal error: Uncaught Zend\ServiceManager\Exception\ServiceNotFoundException: A plugin by the name "navigation" was not found in the plugin manager Zend\View\HelperPluginManager in C:\Users\bikke_000\Documents\Sites\slapenenzo\vendor\zendframework\zend-servicemanager\src\AbstractPluginManager.php:133
Бег
composer require zendframework/zend-navigation
исправлена ошибка, по-видимому, в zf3 навигация по умолчанию не установлена
В дополнение к ответу @Ponsjuh мне пришлось включить модуль «Zend \ Navigation» в конфигурацию моих модулей.
Проверьте свой «режим разработки». В производственном режиме «config_cache_enabled» имеет значение true. Когда вы устанавливаете новый модуль, вы должны обновить кэш.
По умолчанию: «data / cache / module-config-cache.application.config.cache.php»
вам нужно передать «навигацию» вместо «по умолчанию», как показано ниже:
$this->navigation('navigation')->menu();