Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2017, 19:09   #1
ctaciv
Новичок
Джуниор
 
Регистрация: 06.01.2017
Сообщений: 3
Восклицание Zend Framework 2: Не работает навигация (хлебный крошки)

Здравствуйте, дорогие форумчане!
Для работы с БД использую Doctrine 2 (не знаю как это конечно относится к вопросу, но может это имено доктрина, что-то блочит)
Сегодня просматривая видео урок по ZF2, начал изучать "Хлебные крошки" от ZF. Делал все как в видео уроке, но получил вот такую ошибку в итоге:
Цитата:
Fatal error: Uncaught exception 'Zend\ServiceManager\Exception\Serv iceNotCreatedException' with message 'While attempting to create adminnavigation(alias: admin_navigation) an invalid factory was registered for this instance type.' in E:\xampp\htdocs\zblog.local\vendor\ zendframework\zendframework\library \Zend\ServiceManager\ServiceManager .php:1036 Stack trace: #0 E:\xampp\htdocs\zblog.local\vendor\ zendframework\zendframework\library \Zend\ServiceManager\ServiceManager .php(612): Zend\ServiceManager\ServiceManager->createFromFactory('adminnavigation ', 'admin_navigatio...') #1 E:\xampp\htdocs\zblog.local\vendor\ zendframework\zendframework\library \Zend\ServiceManager\ServiceManager .php(572): Zend\ServiceManager\ServiceManager->doCreate('admin_navigatio...', 'adminnavigation') #2 E:\xampp\htdocs\zblog.local\vendor\ zendframework\zendframework\library \Zend\ServiceManager\ServiceManager .php(504): Zend\ServiceManager\ServiceManager->create(Array) #3 E:\xampp\htdocs\zblog.local\vendor\ zendframework\zendframework\library \Zend\View\He in E:\xampp\htdocs\zblog.local\vendor\ zendframework\zendframework\library \Zend\ServiceManager\ServiceManager .php on line 1036
Ошибка как я понял относится к тому, что я указал не правильный фактори в сервис менеджере, но уже все проверил на 10 раз, понять не могу в чем же ошибка.

Вот код module.config.php (zblog.local\module\Admin\config\mo dule.config.php)

Код:
<?php 

return array(
    
  'controllers'  => array(
      'invokables' => array(
          'Admin\Controller\Index' => 'Admin\Controller\IndexController',
          'category' => 'Admin\Controller\CategoryController',
          'article' => 'Admin\Controller\ArticleController',
      ),
  ),
  
  'router' => array(
      'routes' => array(
          'admin' => array(
              'type' => 'literal',
              'options' => array(
                  'route' => '/admin/',
                  'defaults' => array(
                      'controller' => 'Admin\Controller\Index',
                      'action' => 'index',
                  ),
              ),
               'may_terminate' => true,
          
                'child_routes' => array(
                    'category' => array(
                        'type' => 'segment',
                        'options' => array(
                            'route' => 'category/[:action/][:id/]',
                            'defaults' => array(
                                'controller' => 'category',
                                'action' => 'index',
                            ),
                        ),
                    ),
                    
                    'article' => array(
                        'type' => 'segment',
                        'options' => array(
                            'route' => 'article/[:action/][:id/]',
                            'defaults' => array(
                                'controller' => 'article',
                                'action' => 'index',
                            ),
                        ),
                    ),
                   
                ), // << child routes
          ),
          
         
      ),
  ),
  
    'service_manager' => array(
        'factories' => array(
            'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
            'admin_navigation' => 'Admin\Lib\AdminNavigationFactory',
        ),
    ),
  
    'navigation' => array(
            'default' => array(
                array(
                    'label' => 'Главная',
                    'route' => 'home',
                ),
            ),
            'admin_navigation' => array(
                array(
                  'label' => 'Панель управления сайтом',
                  'route' => 'admin',
                  'action' => 'index',
                  'resource' => 'Admin\Controller\Index',
                  'pages' => array(
                        array(
                            'label' => 'Статьи',
                            'route' => 'admin/article',
                            'action' => 'index',
                        ),
                        array(
                            'label' => 'Категории',
                            'route' => 'admin/category',
                            'action' => 'index'
                        ),
                    ),
                ),  
            ),
    ),
    
  'view_manager' => array(
        'template_path_stack' => array(
            __DIR__ . '/../view',
        ),
        'template_map' => array(
            'pagination_control' => __DIR__ . '/../view/layout/pagination_control.phtml',
        ),
   ),
);

Вот код как вывожу в вью: (zblog.local\module\Application\vie w\layout\layout.phtml)

Код:
...
<div class="collapse navbar-collapse">
                   <?php echo $this->navigation('admin_navigation')->menu()->setUlClass('nav navbar-nav')->renderSubMenu(); ?>
                </div><!--/.nav-collapse -->
...

Вот код фабрики [factory]: (zblog.local\module\Admin\Lib\Admin NavigationFactory.php)
Код:
<?php

namespace Admin\Lib;

use Zend\Navigation\Service\DefaultNavigationFactory;

class AdminNavigationFactory extends DefaultNavigationFactory
{
    protected function getName()
    {
        return 'admin_navigation';
    }
}

В общем по сути все должно работать, но вот вылетает эта фатальная ошибка. Я так предполагаю, что проблему эту очень легко решить, но так как я пока не опытный, я не могу её решить сам.

Вот кстати видео урок по которому я пытался это сделать, но в итоге получил такую ошибку.



Проблему решил!
Так как в этом видео уроке не говорили о том где именно должна храниться папка lib и я пытаюсь делать по большей мере сам, то я создал "Factory" не в той папке и в итоге как прочитал в ошибке Zend Service Manager просто не мог загрузить мой factory в итоге и выдал Fatal Error! Впредь буду внимательнее. Ну вдруг у кого была такая проблема, может и понадобиться данный пост.
Factory должны лежать: название-сайта.ру/module/названиеМодуля/src/__NameSpace__/Lib/НазваниеFactory.php и ни где в другом месте! Будьте внимательны!

Спасибо за внимание!

Последний раз редактировалось ctaciv; 06.01.2017 в 19:34. Причина: Решил проблему
ctaciv вне форума Ответить с цитированием
Старый 06.01.2017, 19:20   #2
ctaciv
Новичок
Джуниор
 
Регистрация: 06.01.2017
Сообщений: 3
По умолчанию Срочно нужна помощь

Дорогие товарищи, срочно требуется помощь, так как не могу продолжить изучение без данной фичи.
ctaciv вне форума Ответить с цитированием
Старый 06.01.2017, 19:38   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от ctaciv Посмотреть сообщение
Так как в этом видео уроке не говорили о том где именно должна храниться папка lib
Это неправда, на видео расположение указано четко и ясно, начиная с 4:20.
Andkorol вне форума Ответить с цитированием
Старый 07.01.2017, 06:09   #4
ctaciv
Новичок
Джуниор
 
Регистрация: 06.01.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Это неправда, на видео расположение указано четко и ясно, начиная с 4:20.
Спасибо
ctaciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cgi в zend framework serrgggeee PHP 0 22.03.2014 20:11
Zend Framework ACE Valery PHP 2 11.04.2012 10:17
Пример проекта на Zend Framework Gorychev WordPress и другие CMS 0 23.03.2012 14:15
Zend Framework отлов ошибки в XmlRpc_Client LeoN PHP 9 29.06.2010 09:37
Не могу настроить Zend Framework vag2005 PHP 1 26.06.2010 03:49