Как работает маршрутизация: различия между версиями
Перейти к навигации
Перейти к поиску
V0yager (обсуждение | вклад) (Новая страница: «По умолчанию вызываемый урл транслируется как /plugin/controller/action, но каждый плагин может с по...») |
V0yager (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 3: | Строка 3: | ||
Примеры | Примеры | ||
$router = Zend_Controller_Front::getInstance()->getRouter(); | |||
$router = Zend_Controller_Front::getInstance()->getRouter(); | |||
$route = new Zend_Controller_Router_Route( | |||
$route = new Zend_Controller_Router_Route( | |||
'/:lng/video', /// lng - переменная которая перейдёт как параметр в экшн | '/:lng/video', /// lng - переменная которая перейдёт как параметр в экшн | ||
array( | array( | ||
'module' => 'video', | 'module' => 'video', /// плагин | ||
'controller' => 'index', | 'controller' => 'index', /// контроллер | ||
'action' => 'index', | 'action' => 'index', //// экшн | ||
'type' => 'yt' | 'type' => 'yt' //// дополнительня фиксированная переменная | ||
), | ), | ||
array('lng' => '[a-z]{2}') //// она будет считаться переменной только если будет соответствовать такому формату | array('lng' => '[a-z]{2}') //// она будет считаться переменной только если будет соответствовать такому формату | ||
); | ); | ||
$router->addRoute('video_rou',$route); | $router->addRoute('video_rou',$route); |
Текущая версия от 12:53, 13 сентября 2022
По умолчанию вызываемый урл транслируется как /plugin/controller/action, но каждый плагин может с помощью файла system/routes.php добавлять кастомные маршруты там указывается урл и какие он будет вызывать /плагин/контроллер/экшн
Примеры
$router = Zend_Controller_Front::getInstance()->getRouter(); $route = new Zend_Controller_Router_Route( '/:lng/video', /// lng - переменная которая перейдёт как параметр в экшн array( 'module' => 'video', /// плагин 'controller' => 'index', /// контроллер 'action' => 'index', //// экшн 'type' => 'yt' //// дополнительня фиксированная переменная ), array('lng' => '[a-z]{2}') //// она будет считаться переменной только если будет соответствовать такому формату ); $router->addRoute('video_rou',$route);