Роутинг плагина если у приложения нет фронтенда ?
Есть приложение которое не имеет фронтенда и только бекенд. Как должна выглядеть конфигурация плагина для приложения чтобы выставить урл для фронтенда из плагина ?
Пробывал просто добавить в плагин routing.php c структурой
return array(
"testApp" => array(
"url" => "testPluginName/callback",
"plugin" => "testPluginName",
"app" => "testApp",
"module" => "frontend",
"action" => "callback"
)
);
в настройках плагина указал plugin.php
"frontend" => true,
из документации совсем не ясно как работает роутинг в плагинах приложений https://developers.webasyst.ru...
Эта тема в архиве. Добавление комментариев к ней отключено.










13 ответов
Даже если вы найдёте какой-то хитрый способ зарезервировать некоторую маску URL для своего плагина в описанных условиях в масштабах сайта, желательно, чтобы эта зарезервированная маска была хотя бы видна пользователю в настройках структуры сайта. А в настройках структуры не может быть записи о правиле для плагина, потому для в настройках правил можно выбирать только приложения. Как минимум, по этой причине не получится полноценно реализовать то, что вы описали.
Наверное, вам придётся либо выбрать другое приложение, для которого вы пишете плагин, либо оформить свой плагин в виде приложения с поддержкой фронтенда. Посмотрите, что вам сподручнее.
он может переопределить конфигурацию приложения '/wa-config/apps/$appId/config.php' добавив в нее 'frontend' => true
Спасибо за разъяснения. Само приложение тоже мое но даже если я добавляю в приложение
и у приложения оставляю пустой routing.php
то как заставить плагин для данного приложения отвечал по заданному урлу в плагине совсем не понятно.
Разобрался всем спасибо.
Можно подписаться на хук routing приложения shop или site.
подписаться можно, без допиливания работать не будет - там же в app подставляется текущее приложение, следовательно роутер будет искать плагин в нем
пфф... будет.
у меня нет пока возможности затестить плагин, но судя по коду не должен https://github.com/webasyst/we...
плагин не запускал, но осуждаю.
ой ну все..
ну как я и говорил - не работает
Странно, у меня такая же нога и не болит.
Интересно было бы разобраться почему не работает, если это действительно так. У меня на двух установках (более старый фрейм и ШС и почти актуальный) всё ок. Иначе бы не выкладывал.
Поэтому:
1) Плагин siterouting для ШС(!)
2) Чистим кэш (!!)
3) урл siterouting_url открываем в поселении сайта. Например, /site/siterouting_url
1. твой плагин отображается в приложении site у которого есть фронт, а нужно
т.е. что-то вроде team
2. твой контроллер должен наследовать фронт контроллер приложения, а для его автозагрузки потребуются некоторые танцы с бубнами