проблема в $ this => url после использования Zend_Controller_Router_Route и добавления root - PullRequest
2 голосов
/ 31 марта 2011

я положил этот код в файл начальной загрузки

//product category url managment
    $defaults = array('controller'=>'productcat' , 'action'=>'catinfo' );
    $productRoute = new Zend_Controller_Router_Route('productcat/:id/:title', $defaults);
    $router = $frontController->getRouter();
    $router->addRoute("productcat", $productRoute);

и я поместил этот код в один из файлов phtml (в макете)

<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index"));  ?>">about us</a>

но когда я нахожусь в URL-адресе, вот так:

http://quickstart.local/donyaye_fan_zend/public/ все в порядке. если я иду на URL, как это: http://quickstart.local/donyaye_fan_zend/public/productcat/1/sample

ссылка для aboutus не работает, и она показывает URL текущей страницы в href !!!

в чем причина?!

Ответы [ 2 ]

4 голосов
/ 31 марта 2011

Вы должны указать маршрут по умолчанию для использования.Попробуйте это:

<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index"), 'default');  ?>">about us</a>

Если это не поможет, попробуйте сбросить маршрут с помощью:

<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index"), 'default', true);  ?>">about us</a>
2 голосов
/ 31 марта 2011

В случае разных маршрутов лучше указывать маршрут «по умолчанию» для каждой ссылки, которая не использует пользовательских маршрутов.

, поэтому:

<a href="<?php echo $this->url(array( "controller"=>"aboutus" , "action"=>"index", "route"=>"default"));  ?>">about us</a>

должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...