Как вызвать дополнительный эвент?

Здравствуйте!

Столкнулся с необходимостью добавления эвента, который обрабатывает урл вида:
сайт.com/blog/topic.html/Event

Как добавить эвент к подобному виду урл?

8 комментариев

avatar
$this->AddEventPreg('/^(\d+)\.html$/i','/^foo$/i','/^$/i','EventShowTopicFoo');
  • ort
  • 0
avatar
Не работает данны вариант. Происходит выполнение EventShowTopic, те отображение топика!
avatar
Для варианта сайт.com/blog/topic.html/Event такого не может быть.
А для сайт.com/blog/nameblog/topic.html/Event может, для исправления достаточно здесь github.com/livestreet/livestreet/blob/1.0.3/classes/actions/ActionBlog.class.php#L142 добавить в конец параметр '/^$/i'
avatar
1 Вариант конечно моя ошибка, неправильно написал.
ЧТо касается второго, пробовал так:
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','/^foo$/i', '/^$/i',array('EventShowFoo','topic'));
и так
$this->AddEventPreg('/^(\d+)\.html$/i','/^foo$/i', '/^$/i',array('EventShowFoo','topic'));
Все равно ничего не работает!
avatar
я же даль ссылку на конкретную строчку, где нужно добавить еще один параметр, который будет блокировать перехват url
avatar
Если имели ввиду вот так:
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','/^$/i',array('EventShowTopic','topic'));

То бесполезно, не работает!
avatar
В чудеса не верю и вариант
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','/^$/i',array('EventShowTopic','topic'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','/^foo$/i','/^$/i','EventShowTopicFoo');
работать обязан
  • ort
  • 0
avatar
С включенным плагином NiceURl не работает.
А так все заработало, спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.