Пример плагина - для роутера...

Для чего данный плагин...

#1 24 ноября 2011 в 23:03
Здравствуйте!
Плагины > "Пример плагина — для роутера..."
Для чего данный плагин, если в каждом компоненте лежит файл "router.php". Что он делает (плагин)?
P.S.InstantCMS 1.9
#2 26 ноября 2011 в 12:09
поддерживаю вопрос. вдруг что то нужное, а что именно не понятно.

есть же стандартное

  1. //
  2. // ВНИМАНИЕ! Если вы хотите добавить собственное правило, то создайте
  3. // файл custom_rewrite.php и объявите в нем функцию
  4. // custom_rewrite_rules() по аналогии с текущим файлом!
  5. //
  6. // В этом файле определены системные правила для редиректа и подмены адресов
  7. //
  8. // source : регулярное выражение, для сравнения с текущим URI
  9. // target : URI для перенаправления, при совпадении source
  10. // action : действие при совпадении source
  11. //
  12. // Возможные значения для action:
  13. //
  14. // rewrite : подменить URI перед определением компонента
  15. // redirect : редирект на target с кодом 303 See Other
  16. // redirect-301 : редирект на target с кодом 301 Moved Permanently
  17. // alias : заинклудить файл target и остановить скрипт
  18. //
теперь вместо кастома можно использовать плагин? имеет ли плагин приоритет над штатными компонетами и их правилами вывовода, тоесть можно ли изменить вывод штатных компонентов по другому урлу.

чую что вешь нужная, но ни мануала, ни краткого описания нету вообще. :(
#3 26 ноября 2011 в 14:48
custom_rewrite_rules()
это несколько другое.

странно что непонятно, объясняю:
У нас есть в каждом компоненте набор правил для роутинга — разбора УРЛ — файл router.php.
Так вот при помощи подобного плагина можно:
— добавить новое правило для разбора УРЛ;
— в директорию /components/название_компонента/plugins положить файл, имя которого будет совпадать с действием, например

  1. $add_routes[] = array(
  2. '_uri' => '/^users\/get_demo.html$/i',
  3. 'do' => 'get_demo'
  4. );
файл должен называться get_demo.php.

При переходе по адресу /users/get_demo.html будет выполняться файл /components/users/plugins/get_demo.php.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.