我在我的项目中使用zend framework3 . 我可以按照文档link创建静态导航
现在我必须从数据库中获取菜单数据然后创建导航 . 为此我正在使用我已经将配置提供到module.config.php中,这是相册模块的配置文件 .
<?php
namespace Album;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;
use Zend\ServiceManager\Factory\InvokableFactory;
use Zend\Navigation\Service\DefaultNavigationFactory;
use Album\Navigation\AlbumNavigationFactory;
return [
'controllers' => [
'factories' => [
Controller\AlbumController::class => Factory\AlbumControllerFactory::class,
Controller\IndexController::class => InvokableFactory::class,
],
],
// Add this section:
'service_manager' => [
'factories' => [
'navigation' => Navigation\AlbumNavigationFactory::class,
Model\AlbumTable::class => Factory\AlbumTableFactory::class,
],
],
// The following section is new and should be added to your file:
'router' => [
'routes' => [
'album' => [
'type' => Segment::class,
'options' => [
'route' => '/album[/:action[/:id]]',
'constraints' => [
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
],
'defaults' => [
'controller' => Controller\AlbumController::class,
'action' => 'index',
],
],
],
'index' => [
'type' => Segment::class,
'options' => [
'route' => '/index[/:action[/:id]]',
'constraints' => [
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
],
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
],
],
'view_manager' => [
'template_path_stack' => [
'album' => __DIR__ . '/../view',
],
],
];
在zend framework2中,我们简单地传递一个带有工厂类的导航键
return array(
'factories' => array(
'Navigation' => 'Album\Navigation\AlbumNavigationFactory'
),
);
在zend framework3中,我正在做同样的事情
'service_manager' => [
'factories' => [
'navigation' => Navigation\AlbumNavigationFactory::class,
Model\AlbumTable::class => Factory\AlbumTableFactory::class,
],
],
我使用Navigation \ AlbumNavigationFactory :: class来调用工厂来获取数据 . 但我无法获得导航 . 任何帮助,将不胜感激 .
3 回答
这是我的代码的一部分 . 我认为会有所帮助 . 工作完美 .
在Module.php中
博客\查看\助手\ AddItemsInNavigation.php
在布局中
W Blog \ Navigation \ BlogNavigationFactory.php
光盘 .
在module.config.php中
我不知道你是否正在寻找,但我建议你看看这个页面:
https://github.com/fabiopaiva/zf2-navigation-bootstrap3