@yii2ru

Страница 972 из 1721
Vladimir
15.02.2018
20:02:51
попробую

?
15.02.2018
20:03:42
url::to(['site/view','slug'=>'hello_world','language'=>'ru']);

как то так по идеи должно быть

Kirill
15.02.2018
20:04:26
Я правильно понял, что надо оставить текущий урл, но добавить параметр для языка?

Google
Vladimir
15.02.2018
20:05:13
ну я просто себе фичу поставил которая к урлу ещё добавляет язык, поэтому при переключении языка оно язык то переключает но страница после нажатия уходит в глубокий 404

?
15.02.2018
20:05:16
ну если костыльно то берешь текущий и меняешь на ru на en к римеру

Vladimir
15.02.2018
20:05:24
Ну а потом нормально работает

Я код выше скинул, там в примере такая муть немного

Kirill
15.02.2018
20:05:59
был урл index/test/ok?param=1, после Url::current(['lang' => 'ru']) стал index/test/ok?param=1&lang=ru

Vladimir
15.02.2018
20:06:41
url::to(['site/view','slug'=>'hello_world','language'=>'ru']);
Это я умею, я НЕ знаю на каком я сейчас урле чтобы прописать его явно

Dmitriy
15.02.2018
20:07:13
Url::curren() ?

?
15.02.2018
20:07:25
а нафига урл знать

контроллер и влюху ты и так знаешь текущий слаг в моделе есть

Vladimir
15.02.2018
20:08:06
Maxim
15.02.2018
20:08:19
Это я умею, я НЕ знаю на каком я сейчас урле чтобы прописать его явно
это неправильный подход Изменять язык правильно в одном месте, например в site/lang, а редиректить уже на предыдущий url можно через Yii::$app->request->referrer какой-нибудь Это единоразовый функционал, он не должен тянуться вслед за каждым контроллером

Vladimir
15.02.2018
20:09:32
Он вообще в виде виджета

В блоке справа висит

Google
?
15.02.2018
20:09:45
Yii::$app->controller->route; $this->context->route;

Dmitriy
15.02.2018
20:10:05
а задача то какая ?

Maxim
15.02.2018
20:10:17
ну ok Повесь на него урл site/lang и редиректь на урл, с которого пришел запрос И ставь его куда угодно

Maxim
15.02.2018
20:13:06
это почему?

Vladimir
15.02.2018
20:13:41
а не, может и получиться

Maxim
15.02.2018
20:18:29
посмотри как индус сделал и переведи на нормальный лад https://www.youtube.com/watch?v=_qNMcJKoEK0&index=51&list=PLRd0zhQj3CBmusDbBzFgg3H20VxLx2mkF

Vladimir
15.02.2018
20:34:45
да у меня все сделано, просто с переключением проблема

я не хочу переделывать

https://github.com/codemix/yii2-localeurls

вот эту хрень юзаю

Matviy
15.02.2018
20:51:01
Может кто знает В доках написано, что можно удалять GET параметры, если присвоить им в URL::current() null. Например, я делаю так: $this->url = Url::current(['per-page' => null, 'page' => null, 'sort' => null], true); В результате УРЛ должен получится http://domain.com/category/elektronika а получается http://domain.com/category/elektronika?page=&per-page=&sort= ЧЯДНТ?

Собственно нужно для канонических урлов в метатегах

Vladimir
15.02.2018
21:18:23
Url::curren() ?
Работает только с дефолт языком

Matviy
15.02.2018
21:19:24
То есть? А якык тут при чем?

Vladimir
15.02.2018
21:19:30
Когда я допустим переключился с дефолт языка на другой, оно подставляет site.ru/en/блаблабла, а когда я хочу ещё раз его переключить, то он берет этот урл и добавляет перед en например ещё ru

Matviy
15.02.2018
21:19:54
Не, с этим норм

Vladimir
15.02.2018
21:20:10
?

Matviy
15.02.2018
21:20:12
Зависит от реализации мультиязычных урлов

А у меня нет параметры не хотят убиратся

Google
Matviy
15.02.2018
21:20:39
Гет

Vladimir
15.02.2018
21:20:58
чел, мы с тобой тут оба за помощью)

и оба с урлменеджерами

почитай выше

посмотри как индус сделал и переведи на нормальный лад https://www.youtube.com/watch?v=_qNMcJKoEK0&index=51&list=PLRd0zhQj3CBmusDbBzFgg3H20VxLx2mkF
и потом, в том расширении что я взял есть определение языка по параметрам браузера и прочие фичи, а тут ещё индусокод разбирать, как по мне не сильно лучше)

и у него не добавляет к урл язк

PowerAxis
15.02.2018
21:29:18
https://m.habrahabr.ru/post/226931/

Я по этому примеру делал

Там и логика и виджет описаны

Посмотри, авось зайдет

Vladimir
15.02.2018
21:32:19
Гугл чуток не довел меня до этой статьи :)

http://atoumus.github.io/yii2-i18n.html Делал по этой

Vladimir
15.02.2018
21:32:46
Спасибо, попробую по той что ты дал, мне она нравится больше, все описано и подробно

А он умеет определять язык из настроек браузера?

А то чет не вижу

PowerAxis
15.02.2018
21:33:45
Кажется да я не помню точно

А Может и нет ... Но в любом случае поставить один if где-то в сервисе не должно составить труда

Matviy
15.02.2018
21:39:57
Я использую это расширение https://github.com/codemix/yii2-localeurls Методом проб и ошибок при таком конфиге работает: 'urlManager' => [ 'class' => 'codemix\localeurls\UrlManager', 'languages' => array_flip(require(__DIR__ . '/languages.php')), 'enableLanguagePersistence' => false, 'enableLanguageDetection' => false, 'enablePrettyUrl' => true, 'showScriptName' => false, 'baseUrl' => '/', 'normalizer' => [ 'class' => 'yii\web\UrlNormalizer', 'action' => yii\web\UrlNormalizer::ACTION_REDIRECT_TEMPORARY, ], 'rules' => require(__DIR__ . '/routs.php'), ],

Не помню уже почему, но автодетект локали подглючивал, а может и нет ,пробовать нужно

Google
Matviy
15.02.2018
21:43:30
Попробуй конфиг, как у меня

Должно норм работать

Vladimir
15.02.2018
21:45:34
Как у тебя выглядит переключатель языка?

Ссылка

Matviy
15.02.2018
21:48:06
Ща

<?php /* @var $this \yii\web\View */ use yii\helpers\Url; switch (\Yii::$app->language) { case 'uk-UA': $lang = 'укр'; break; case 'ru-RU': $lang = 'рус'; break; } $urlUk = Url::current(['language' => 'uk-UA'], true); $urlRu = Url::current(['language' => 'ru-RU'], true); ?> <li class="dropdown" id="lang-switcher"> <a class="dropdown-toggle" href="#" data-toggle="dropdown"><?= $lang ?> <i class="fa fa-caret-down" aria-hidden="true"></i></a> <ul class="dropdown-menu"> <li <?= $lang == 'укр' ? 'style="display:none"' : '' ?> ><a data-url="<?= $urlUk ?>" href="#">укр</a></li> <li <?= $lang == 'рус' ? 'style="display:none"' : '' ?> ><a data-url="<?= $urlRu ?>" href="#">рус</a></li> </ul> </li>

Admin
ERROR: S client not available

Matviy
15.02.2018
21:49:25
Да, там джаваскриптом переключается, не помню уже, почему

Но суть та же

Vladimir
15.02.2018
21:52:22
Воооооооооооот

Это то, что было нужно

Большое тебе спасибо )

Все работает

Люблю этот чат

Matviy
16.02.2018
01:00:12
Не за что)

Мне бы еще кто помог)

Alex
16.02.2018
01:07:43
а че у тебя?)

Matviy
16.02.2018
01:10:05
а че у тебя?)
Может кто знает В доках написано, что можно удалять GET параметры, если присвоить им в URL::current() null. Например, я делаю так: $this->url = Url::current(['per-page' => null, 'page' => null, 'sort' => null], true); В результате УРЛ должен получится http://domain.com/category/elektronika а получается http://domain.com/category/elektronika?page=&per-page=&sort= ЧЯДНТ?

Alex
16.02.2018
01:10:37
хмм

Google
Alex
16.02.2018
01:10:40
дай мне минут 5

гляну сорцы

Matviy
16.02.2018
01:12:57
Я вот сейчас тоже глядеть буду

Alex
16.02.2018
01:13:55
реально странно

реально фигня какая-то

я првоерил сорцы

долдно убивать

Matviy
16.02.2018
01:15:33
Может баг фреймворка?

Alex
16.02.2018
01:15:41
да вот не должно

в коде все ок

Matviy
16.02.2018
01:15:48
Так а у тебя убирает, или нет?

Alex
16.02.2018
01:15:50
foreach ($params as $key => $value) { if ($value !== null) { $cacheKey .= $key . '&'; } }

это как-то как-то протестить

Matviy
16.02.2018
01:16:46
Может я в чем-то туплю, хз

Єто где именно?

Alex
16.02.2018
01:17:04
это в генераторе урла в фрейме самом

Matviy
16.02.2018
01:17:13
ага

Alex
16.02.2018
01:17:32
ща попробую в одном проекте

Matviy
16.02.2018
01:18:43
ок

Страница 972 из 1721