Я использую zend framework3 в моем проекте. Я могу создать статическую навигацию, следуя документам linkсоздание динамической навигации в zf3
Теперь мне нужно получить данные меню из базы данных, а затем создать навигацию. Для этого я использую конфигурацию в файле 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',
],
],
];
В Зенд framework2 мы просто передача навигации ключ с фабрики класса, как
return array(
'factories' => array(
'Navigation' => 'Album\Navigation\AlbumNavigationFactory'
),
);
В Зенд framework3 я делаю то же самое, как показано ниже
'service_manager' => [
'factories' => [
'navigation' => Navigation\AlbumNavigationFactory::class,
Model\AlbumTable::class => Factory\AlbumTableFactory::class,
],
],
Я использую навигации \ AlbumNavigationFactory :: класс для вызова фабрики для извлечения данных. , но я не могу получить навигацию. Любая помощь будет оценена по достоинству.
@Andry Bueno Я проверил предоставленный URL. Мой вопрос - это массив, который мы передаем в навигационном ключе как 'navigation' => array ( 'default' => array (array ( 'label' => 'Home', 'route' => 'home' , 'icon' => 'glyphicon glyphicon-home' ), Я хочу, чтобы этот массив из базы данных. Вы знаете, как я могу получить этот массив из базы данных? –