2015-04-10 6 views
1

У меня есть простой конфигурации и контроллер в модуле Блог:ZF2 маршруты по уходу за детьми не работает

module.config.php:

return array(
    'controllers'=>array(
     'invokables'=>array(
      'Blog\Controller\Blog'=>'Blog\Controller\BlogController', 
     ), 
    ), 
    'router'=>array(
     'routes'=>array(
      'blog'=>array(
       'type'=>'literal', 
       'options'=>array(
        'route'=>'/blog', 
        'defaults'=>array(
         'controller'=>'Blog\Controller\Blog', 
         'action'=>'index', 
        ), 
       ), 
       'may_terminate'=>true, 
       'child_routes'=>array(
        'rss'=>array(
         'type'=>'literal', 
         'options' => array(
          'route'=>'/rss', 
          'defaults'=>array(
           'action'=>'rss', 
          ), 
         ), 
        ), 
       ) 
      ) 
     ) 
    ), 
); 

BlogController.php:

namespace Blog\Controller; 

use Zend\Mvc\Controller\AbstractActionController; 
use Zend\View\Model\ViewModel; 

class BlogController extends AbstractActionController 
{ 
    public function indexAction(){ 
     return new ViewModel(array()); 
    } 

    public function rssAction(){ 
     return new ViewModel(array()); 
    } 
} 

Маршрут /блог работает правильно,

но /Блог/Новости - не работает

Zend Framework 2 ответа с сообщением об ошибке:

 
A 404 error occurred 
Page not found. 
The requested controller was unable to dispatch the request. 
Controller: 
    Blog\Controller\Blog 
No Exception available 

Что случилось? Спасибо заранее.

ответ

0

Проблема в matchedRouteName.

С child_routes

защищен 'matchedRouteName' => строка 'блог/RSS' (длина = 8),

без child_routes

защищены " matchedRouteName '=> строка' blog '(длина = 4)

Он генерирует ошибку в моем методе маршрута и перенаправляет на страницу 404, когда я пытаюсь получить доступ/blog/rss.

0

У вас нет may_terminate на true на маршруте `blog/rss ', как и у его родителя.

+0

Спасибо, угадайте, Я добавил 'may_terminate' => true, 'blog/rss', но у меня такая же ошибка. Вот пример из руководства по маршрутизации zf2: http://framework.zend.com/manual/2.3/en/modules/zend.mvc.routing.html , но это не работает для меня. Мне нужно изменить некоторые параметры конфигурации для Zend \ Mvc \ Router или для другого компонента? –

 Смежные вопросы

  • Нет связанных вопросов^_^