Вопрос о url в instantcms 2

#1 26 октября 2014 в 13:21
Добрый день.
Подскажите как избавиться в своем компоненте от url вида /name_component/action/idzapisi

а сделать допустим site.ru/namezapisi

или хотябы

site.ru/name_component/namezapisi
?
Смотря видеоуроки не увидел как.
#3 26 октября 2014 в 19:23
Там только реврайт самого названия компонента. А мне нужно скрыть действия и айди. Сделать как у компонента контент.
#4 27 октября 2014 в 18:50
Админы и знающие подскажите!!! Реально ли? ведь контент как-то работает же с урлами.
#5 27 октября 2014 в 20:06

Реально ли? ведь контент как-то работает же с урлами.

kirkr
URL в InstantCMS 2, как вы наверное уже знаете, состоит из <имя сайта>/<название контроллера>/<вызываемый экшен>/<параметры>...
Так вот, основной контроллер, или контроллер по умолчанию — это Контент (или content). Если я правильно понимаю, система первоначально пытается найти непонятный ей контроллер (например sitename.ru/articles) в контенте, далее в других компонентах и если ничего не получилось то выводит страницу 404.
А сам поиск внутри компонента работает так:
в корне компонента есть файл routes.php, в котором через регулярки указывается какие урлы может обработать данный компонент и как его обрабатывать (например sitename.ru/articles распознается через
  1. 'pattern' => '/^([a-z0-9_]+)\/([a-zA-Z0-9\-\/]+)$/i',
  2. 'action' => 'category_view',
  3. 1 => 'ctype_name',
  4. 2 => 'slug'
  5. ),
откуда понятно что нужно запустить action — category_view и передать в него параметры ctype_name = articles и slug = index в данном случае)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.