У меня есть сайт с субдоменами (news.site.com, events.site.com и т. Д.). Я добавил в конфиг моих пользовательских правил URL-адреса, которые находят по запрошенному URL-адрес статьи в БД и вызвать контроллер статьи с действием шоуГде в Yii2 инициализировать некоторые настройки поддомена?
, например: 'news.site.com/some-article-with-custom-url'
Я хочу найти в дб статье с url = 'some-article-with-custom-url'
и вызвать actionShow() в ArticleController ,
Но news.site.com и events.site.com я хочу найти статьи с различными Site_ID (столбец в дБ)
news.site.com - select * from article where site_id = 1 ...
events.site.com - select * from article where site_id = 2 ...
, где я могу инициализировать некоторые настройки поддоменов, если на уровне UrlManager у меня уже есть эти настройки?
'urlManager' => [
'rules' = [
...
[
'class' => 'common\components\ArticleUrlRule'
],
]
]
Реализация синтаксического анализа REQ этого класса:
public function parseRequest($manager, $request) {
$articleId = Article::getArticleIdByUrl($request->pathInfo);
if (!empty($articleId)) {
return [
'article/show',
[
'id' => $articleId
]
];
}
return false;
}
<контроллер: [\ w-] +>/ '=>' /view 'неподходящий, потому что у меня есть статьи в db с URL-адресами URL-с-custom-url', и я хочу рендерить эту статью по URL-адресу 'http://news.site. com/some-article-with-custom-url ', а не' news.site.com/article/12345 ' –
CapitanSlow
Ну, для одного это псевдокод, это не то, что нужно копировать и вставлять, а во-вторых, это простой пример, чтобы изменить его, будет ''/ '=>' /view ', ' –
Sammaye
Нет, этот' переключатель' правильный. Вы устанавливаете '$ site' var и используется для ограничения запроса. – Sammaye