4

https://docs.zendframework.com/zend-navigation/quick-start/に従って、アプリケーションのナビゲーションを作成しようとしています。ナビゲーションを登録し、DefaultNavigationFactory をサービス マネージャーに追加しましたが、ナビゲーションを印刷しようとするとエラーが発生します。

これは私のモジュール/アプリケーション/構成/モジュール.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
4

4 に答える 4

3

@Ponsjuh の回答に加えて、モジュール構成にモジュール「Zend\Navigation」を含める必要がありました。

于 2016-12-08T14:36:22.300 に答える
1

以下のように、「default」の代わりに「navigation」を渡す必要があります。

 $this->navigation('navigation')->menu();
于 2016-11-16T16:50:23.497 に答える
1

「開発モード」を確認してください。プロダクション モードでは、「config_cache_enabled」は true です。新しいモジュールをインストールするときは、キャッシュを更新する必要があります。デフォルト: 'data/cache/module-config-cache.application.config.cache.php'

于 2017-04-04T08:30:25.113 に答える