Я пытаюсь создать динамический маршрут в проекте ZF2. Это будет что-то вроде «domain.com/companyurl/products». URL компании динамичен. Я это сделал:
'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');
В обоих случаях я уже указал базовое значение маршрута.
Я надеюсь, вы понимаете, о чем я. Благодарю.
Eсть $reuseRouteParams
опция, которую вы можете использовать в помощнике URL:
$this->url($name, $params, $options,$reuseMatchedParameters);
Если для этого параметра установлено значение true, оно будет использовать предыдущее значение соответствия маршрута companyUrl
,
Вы можете прочитать больше об этом в документации Вот.
Других решений пока нет …