zf2 url viewhelper返回父URL,即使在使用子路由调用时也是如此

时间:2014-09-28 11:55:57

标签: routing zend-framework2 view-helpers

我有这条路线

 'restaurant' => array(
                'type' => 'Zend\Mvc\Router\Http\Segment',
                'options' => array(
                    'route'    => '/restaurant[/:name]',
                    'defaults' => array(
                        'controller' => 'Application\Controller\Index',
                        'action'     => 'restaurant',
                    ),
                ),
                'may_terminate' => true,
                'child_routes' => array(
                    'book' => array(
                        'type' => 'Zend\Mvc\Router\Http\Literal',
                        'options' => array(
                            'route'    => '/book',
                            'defaults' => array(
                                'controller' => 'Application\Controller\Index',
                                'action'     => 'book',
                            ),
                        ),
                    ),
                ),
            ),

当我像$this->url('restaurant/book', array('name' => $slug))那样调用url viewhelper时,我希望返回的网址为/restaurant/some-slug-here/book ..但我会得到/restaurant/some-slug-here,而没有图书部分....

它获取子路由,好像我将“book”更改为child_routes中的任何其他内容,它会抛出错误...但它似乎没有形成正确的URL。

此外,路线/restaurant/some-slug-here/book在手动输入时也有效。

edit1:我试图从父页面调用它$this->url('restaurant/book', array(), array(), true) ..但什么都没有..

有什么想法吗?谢谢!

0 个答案:

没有答案