2015-10-02 3 views
0

Я пытаюсь создать динамический маршрут в проекте ZF2. Это будет нечто вроде «domain.com/companyurl/products». URL-адрес компании динамичен. Я сделал это:ZF2- Динамический базовый маршрут

'company' => array(
    'type' => 'Segment', 
    'options' => array(
     'route' => '[/:company]', 
     'defaults' => array(
      'controller' => 'IndexController', 
      'action'  => 'index', 
     ), 
    ), 
     'may_terminate' => true, 
     'child_routes' => array(
      ... 
    ), 

), 

Но мне всегда приходится передавать параметр компании в маршрут.

$this->url('company/products', array('company' => 'companyurl')); 

Есть ли какой-нибудь способ, чтобы указать базовый маршрут на время выполнения, как базовый URL, то все маршрут будет следовать за ним? Что-то вроде этого:

$this->url('products'); 

или

$this->url('company/products'); 

В обоих случаях я уже указано значение базового маршрута.

Надеюсь, вы понимаете, что я имею в виду. Благодарю.

+0

Вы можете подклассифицировать помощник вида URL (Zend \ View \ Helper \ Url), чтобы автоматически добавить URL-адрес компании для всех URL-адресов. – Ed209

ответ

1

Существует $reuseRouteParams вариант, который вы можете использовать в помощнике URL:

$this->url($name, $params, $options,$reuseMatchedParameters); 

Если установить это верно, то это будет повторно использовать предыдущее значение соответствия маршрута companyUrl.

Подробнее об этом можно узнать в документах here.

+0

Это действительно решило мою проблему. Большое спасибо! –

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