Виталий
Спасибо за идею с actionfilter, почитаем
Toly
Ну, там тоже костыть придётся в beforeAction вставить
Toly
Но такой костыль хотя бы проще контроллировать
Виталий
У мобильного интернет и сейчас такая же проблема
Виталий
Сдается мне, что нужно работать с мобилками по датчикам устройств
SiZE
Сергей
настроил я actionfilter, но вьюху подменить не могу
Сергей
могу лишь отменить экшн
Toly
Ну, в этом и суть - ты рендеришь нужную тебе вьюху и отменяешь экшен
Toly
Про этот костыль я и говорил
Сергей
отрендерить то её в какой момент?
Toly
В beforeAction
Сергей
там только можно вернуть true или false
Сергей
либо эксепшн вызвать
Toly
Yii::$app->response->content = $this->context->render('viewFile', $data);
Toly
В Yii можно делать что угодно и где угодно
Сергей
получилось
Сергей
только actionFilter мне и не понадобился
Сергей
сделал в beforeAction базового контроллера
Toly
Ну ёпт
Toly
SiZE
https://picsrch.me/wmbtHtsc
Toly
Я не хочу читать нотации по качеству кода и т.д., просто я предчувствую боль, которую тебе придётся испытать с таким решением)
Сергей
если это будет востребовано, вынесу в фильтр
Toly
И это будет правильно 👍
Toly
Не давай костылям попадать в ядро архитектуры
Сергей
хорошо)
Сергей
один вопрос)
Сергей
почему скрин domru.ru?\
Toly
Ну там вроде как дружелюбно выбор города сделан
Сергей
круто, посмотрю)
mr.
mr.
Друтути
mr.
курлык-курлык
mr.
Вопрос немного не по теме фреймворка, но всё же, если есть те, кто работает/работал с инет магазинами(не в техническом плане, а в общем весь бизнес-процесс), напишите пожалуйста в ЛС.
Виталий
путь xxx/bundles/tilefoldcontent роутит в actionIndex
Виталий
Есть rules у UrlManager '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
'xxx/bundles/<alias:[\w\-]+>' => 'xxx/bundles/index', В модуле создан BundlesController (actionTilefoldcontent(), actionIndex($alias = null))
Виталий
Как заставить UrlManager роутить в приоритетный action?
SiZE
последнее правило перенаправляет
SiZE
можно добавить правило выше него
Виталий
Почему правило выше не выполняет эту функцию?
Toly
Правила считываются по порядку сверху вниз. Представленный URL соответствует первому правилу:
'<module:\w+>/<controller:\w+>/<action:\w+> => <module>/<controller>/<action>'
Toly
Поэтому чтобы правило xxx/bundles/<alias:[\w\-]+>' => 'xxx/bundles/index заработало, нужно написать его выше
Сергей
в том то и дело что срабатывает последнее правило
Сергей
а должно первое
Toly
Сложно сказать. Надо бы посмотреть полный список правил
Павел
Помогите пожалуйста. Почему перед return выводится все правильно, а когда саму функцию вызываешь то ничего вообще не возвращается http://prntscr.com/cnkzok
Anonymous
Павел
Да, я уже понял свою ошибку
Toly
Ilya 🃏
Наконец-то я нашел, группу по yii2
Ilya 🃏
))
pavel
грац
Ilya 🃏
Главный вопрос на повестке дня:
почему yii2 считает что если зависимость в active record называется user_example, то при подгрузке этой зависимости в вывод данных её нужно называть так же, как и название функции, которое её добавляет, т.е. userExample
Ilya 🃏
При том, что запись user_example с индексом этого элемента остается не тронутой
Ilya 🃏
И постоянно приходится подчищать такие записи, если используешь в названии столбца нижнее подчеркивание
SiZE
ничонепонял
Ilya 🃏
Т.е. после использования with('userExample') не прикольно видеть в элементе следующее:
[
'user_example' => '1',
'userExample => ['some','some']
]
Toly
Речь идёт о relations?
Ilya 🃏
Ага
Toly
Давайте код, по словам не понятна суть проблемы
Ilya 🃏
Вообще в идеале было бы, чтобы даже в вызове зависимости нужно было использовать реальное название столбца, а не его интерпретацию в названии функции
Ilya 🃏
Я привел пример кода выше
Toly
На каком языке он написан?
Ilya 🃏
Т.е. я использую
User::find()->with('relatedExample')->one()
и получаю
[
'index' => 1,
'related_example' => 12,
'relatedExample' => ...
]
Ilya 🃏
А ожидается, хотя бы
[
'index' => 1,
'related_example' => ...
]
Ilya 🃏
без лишнего мусора, который оставляет фреймворк
Ilya 🃏
непонятно зачем
Toly
И вышесказанного я понял, что вас не устраивает как Yii2 работает с relations.
Фреймворк загружает модель с дополнительным отношениями, как вы его и попросили
SiZE
обычно используется так:
'user' (id, profile_id)
public function getProfile();
User::find()->with('profile')->one();
Toly
И мусора здесь никакого нет
SiZE
и как бы profile_id не должен затираться релейшеном
SiZE
это ж аттрибут йопта. с ним можно работать - изменить для сохранения нового, удалить
Ilya 🃏
Это все хорошо, но я немного о другом
Александр
например в форме будет выбор из селекта...
Ilya 🃏
Что если я вызываю зависимость, я ожидаю получить её содержимое в свойстве с названием столбца, а не в свойстве, с названием функции
Ilya 🃏
Я не говорю, что это вызывает ошибки, я говорю, что было бы удобнее
SiZE
ну это пожалуй как ожидать что тебе майбах покататься дадут после этого :D
Toly
Нет, в атрибут вы его не получите
Toly
Это разные понятия