Вариант 2 - лучшая ставка, и она будет выглядеть примерно так:
<?php echo $this->url(array('order_id' => $this->order->getId()), $viewOrderRouteName); ?>
Теперь, если у вас не было именованного маршрута с модулем, контроллером и скоростью действия, вы могли бы:
<?php echo $this->url(array(
'order_id' => $this->order->getId()
'module' => 'customer',
'controller' => 'order',
'action' => 'viewOrder'
), 'default' ); ?>
При условии, что у вас включен маршрут по умолчанию. Обратите внимание, что это просто выводит URL, а не полный символ tag
, поэтому используйте его в качестве атрибута href или используйте sprintf
для составления тега ... Я думаю, что есть универсальный помощник по тегам html, так что вы также можете его использовать.
Теперь, если вы не хотите показывать свои идентификаторы заказов в URL-адресе, вы можете использовать какие-то другие параметры для выбора самого заказа (хотя для этого потребуется запрос на соединение в контроллере заказов вашего представления), например, username && order дата или что вы схожи с тем, как вы можете видеть постоянную ссылку блога в качестве даты && заголовок "slug".