Url::canonical - не работает, при "сложной" логике?..

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
lgXenos
Сообщения: 243
Зарегистрирован: 2015.11.30, 15:42

Url::canonical - не работает, при "сложной" логике?..

Сообщение lgXenos »

Приветствую

Записал в роуты строчку:

Код: Выделить всё

'/<lang:(ru|en)>/' => "/static/index"
По ссылке http://localhost/ru/ мне Url::canonical выводит:
Как понимаете - это прям совсем не то, что я ожидаю.
При реализации более сложной логики и использованием в роутах конструкций вида

Код: Выделить всё

. . .
	[
		'pattern'  => $item['url'],
		'route'    => "/static/index",
		'defaults' => [
			'alilas' => $item['file'],
			'param1' => $item['param1'],
		],
	]
. . .	
Я получаю совсем дикие вещи... Типа
:cry:

Как итог - я "костылю" конструкцией вида:

Код: Выделить всё

\Yii::$app->request->getHostInfo() . '/' . \Yii::$app->request->getPathInfo()
Собственно вопрос: все так или я где-то делаю что-то не так?
Почему у меня Url::canonical, выдает неприемлемую дичь?
Для чего мне pretty-urls, когда система зачем-то "вскрывает" их...


yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Url::canonical - не работает, при "сложной" логике?..

Сообщение yiiliveext »

В SiteController в actionIndex пропишите параметр $lang

Код: Выделить всё

public function actionIndex($lang)
{
    //bla-bla-bla
}
По второму случаю надо понимать что находится в $item['url']

Ответить