Как сделать URLы топиков из коллективных блогов аналогичным URLам персональных топиков

Собственно такой вопрос. Как сделать URL топиков из коллективных блогов одинаковыми с URLами топиков из личных блогов.

1) То есть чтобы http;//site/blog/news/123.html имел вид site/posts/123.html
2) так же как и site/blog/124.html имел вид site/posts/124.html

(со второй частью всё понятно, там нужно лишь поменять несколько значений в конфиге и топик ентри, а вот первую в силу своих недостаточных знаний в программировании осилить не смог. Максимальный результат, которого добился — это 301 зацикленный редирект и соощение браузера (неправильное перенаправление).

Реально ли реализовать мою задумку и если да, то как?

ЗЫ. версия движка 0.4RC (точнее 839 транк).

Не находятся шаблоны при делегировании action-а плугином

Девелоперская версия 0.4
Пытался написать плугин — задействовал механизм делегирования. Делегировал action.
При вызове action-а движок не может найти шаблоны.

Fatal error: Uncaught exception 'Exception' with message 'Can not find the template: ' in E:\Projects\livestreet\engine\modules\viewer\Viewer.class.php:292



( Читать дальше )
  • +1
  • 17 февраля 2010, 16:51
  • mutabor
  • 4

Убираем константы из шаблонов

После прочтения вот этого поста: Убираем дублирование при добавлении роутинга, понял что эта проблема волнует не только меня. Хочу поделиться своими соображениями на этот счет.

Linch правильно заметил, что при добавлении нового роута приходиться дублировать информацию. Но, на самом деле здесь происходит более «серьезное» дублирование, чем копипаст из config/config.route.php в Viewer.class.php — мы дублируем функционал по составлению пути — один раз это делает программист, разрабатывая модуль, второй раз это делает верстальщик, когда делает шаблон. Большее неудобство не в том, как мы доставим константу во Viewer, а именно в том факте, что верстальщику этими константами нужно пользоваться.

Если нам вдруг понадобиться изменить принцип роутинга, то придется перелапачивать весь шаблон, исправляя ошибки адресов. Имхо, если Router, решает какой Action должен отработать, пусть сам нам скажет, как к этому Action нужно обратиться. Тогда необходимость в константах во Viewer`e вообще отпадет сама собой.

Как этого добиться? Под катом 20 строчек кода.


( Читать дальше )