Екшины, евенты и пр

Исходя из тех знаний что у меня есть запрос в движок формируется следующим образом:
my-site.ru/action/event
Т.е. первый параметр это экшин второй эвент.
Если я загружаю аватар то user.js, из ядра движка, формирует следующий запрос:
my-site.ru/settings/profile/upload-avatar/
В ActionSettings я нашел и EventProfile и EventUploadAvatar. Как это работает, ведь случай явно выходящий за рамки техинструкций по ЛС.

4 комментария

avatar
случай явно выходящий за рамки техинструкций по ЛС.
а что именно выходит и за какие рамки?
my-site.ru/settings/ = экшен settings
my-site.ru/settings/profile/ = эвент profile в экшене settings и тд…
avatar
ок, т.е. будут по очереди отрабатыватся эванты — сначала Profile потом UploadAvatar, так?
avatar
Документация писалась насколько я знаю в тот момент когда не было правил задания эвентов регулярными выражениями. Точнее в документацию не включено разжевывание до молекулярного уровня этого момента, но на самом деле все на поверхности же :)

По сути есть только экшен и заданные в нем роуты для эвента.
my-site.ru/settings/ эвент EventIndex
my-site.ru/settings/profile/ эвент EventProfile
my-site.ru/settings/profile/upload-avatar/ EventUploadAvatar

Поэтому эвент который в данном случае состоит из двух каталогов(profile/upload-avatar) вас и смущает.
avatar
Ага вот оно:
$this->AddEventPreg('/^profile$/i','/^upload-avatar/i','/^$/i','EventUploadAvatar');

Спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.