Как работает маршрутизация: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 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(
Строка 15: Строка 14:
     ),
     ),
     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);