Не работает Роутинг в iCMS 2.9.0

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 11 марта 2018 в 20:42
Привет, всем!

Заметил что в iCMS 2.9.0 не работает роутинг, создаю файл routes.php в него добавляю следующий код:
  1. function routes_test(){
  2.  
  3. return array(
  4.  
  5. 'pattern' => '/^([a-z0-9\-_]+)\/test$/i',
  6. 'action' => 'action_name',
  7. 1 => 'ctype_name',
  8. ),
  9.  
  10. );
  11.  
  12. }
  13.  
Но, переопределение не происходит, хотя на iCMS 2.7.1 такой метод работает. Подскажите из-за чего такое может быть и как всё таки сделать задуманное?
#2 12 марта 2018 в 10:41
Вадим Нарочный, а методы route и parseRoute задали в своем компоненте?
По аналогии с компонентом content, смотрите файл frontend.php
#3 12 марта 2018 в 10:43

а методы route и parseRoute задали в своем компоненте?

Zau4man

Да, конечно это всё сделано, говорю же, на iCMS 2.7.1 всё работает
#4 12 марта 2018 в 10:47
  1. public function route($uri){
  2.  
  3. $core = cmsCore::getInstance();
  4.  
  5. $action_name = $this->parseRoute($core->uri);
  6.  
  7. if (!$action_name) { cmsCore::error404(); }
  8.  
  9. $this->runAction($action_name);
  10.  
  11. }
  12.  
  13. public function parseRoute($uri){
  14.  
  15. $config = cmsConfig::getInstance();
  16.  
  17. $action_name = parent::parseRoute($uri);
  18.  
  19. if (!$action_name && $config->ctype_default){
  20. $action_name = parent::parseRoute($config->ctype_default . '/' . $uri);
  21. }
  22.  
  23. return $action_name;
  24.  
  25. }
#5 12 марта 2018 в 20:10
Ну так что, может кто-нибудь из разработчиков подскажет??
#6 12 марта 2018 в 20:24
Обновил вот на это и всё заработала, всем спасибо за помощь!

  1. public function route($uri){
  2.  
  3. $action_name = $this->parseRoute($this->cms_core->uri);
  4.  
  5. if (!$action_name) { cmsCore::error404(); }
  6.  
  7. $this->runAction($action_name);
  8.  
  9. }
  10.  
  11. public function parseRoute($uri){
  12.  
  13. $action_name = parent::parseRoute($uri);
  14.  
  15. if (!$action_name && $this->cms_config->ctype_default){
  16. $action_name = parent::parseRoute($this->cms_config->ctype_default . '/' . $uri);
  17. }
  18.  
  19. return $action_name;
  20.  
  21. }
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.