Постепенная замена вьюшек в старой теме

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Постепенная замена вьюшек в старой теме

Сообщение azz »

Приветствую. Есть старая тема, стоит задача переехать на новую. Предполагается сделать это, постепенно заменяя вьюхи.
Как это можно сделать, учитывая что layout-ы будут другие? Есть ли способ красивее, чем в каждом экшене контроллера указывать новый layout?
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Постепенная замена вьюшек в старой теме

Сообщение Dominus »

Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Постепенная замена вьюшек в старой теме

Сообщение azz »

Это я видел...
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Постепенная замена вьюшек в старой теме

Сообщение skynin »

azz писал(а): 2020.07.21, 16:18 Предполагается сделать это, постепенно заменяя вьюхи.
...
Есть ли способ красивее, чем в каждом экшене контроллера указывать новый layout?
сколько времени занимает
- написать новую вьюху
- в контроллере указать ее имя

то есть каково соотношение трудоемкости этих действий, что - указывать имя вьюхи в контроллере стало "некрасиво"?

но, можно все, если требуется "постепенно", то расширить
yii\base\Controller::render
yii\base\Controller::getView

и разместить там какую хочется логику.
например сделать вьюхи на каждый день недели, и показывать их соответственно :)
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Постепенная замена вьюшек в старой теме

Сообщение azz »

skynin писал(а): 2020.07.22, 10:21 сколько времени занимает
- написать новую вьюху
- в контроллере указать ее имя

то есть каково соотношение трудоемкости этих действий, что - указывать имя вьюхи в контроллере стало "некрасиво"?
Контроллеров 14. Экшенов в среднем 4-5. Вначале прописать, потом по окончании переезда сходить удалить. Ну такое себе занятие.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Постепенная замена вьюшек в старой теме

Сообщение skynin »

Вам все равно где-то надо будет указать
какие вьюхи для каких контроллеров-экшн старые, а для каких новые

ну, как написал уже, render, getView свои, и массив, где описаны старые, новые. (14 * 5 описаний там будет)
или какое мудреное правило.

итого, потратите сколько времени на создание такого механизма?

причем - на кой он после переезда?
Темизация - да, полезная штука.
Но на механизм для постепенного замены вьюх - точно требуется тратить время?

-- Контроллеров 14. Экшенов в среднем 4-5.
сделайте все вьюхи, а не тратьте время на постепенность.
все равно ж итог - все вьюхи должны быть обновлены?
ну так зачем эта постепенность?

другими словами - не хотите ли вы странного, потому что к самой задаче подходите странно?
и не увеличит ли объем работ этот странный подход?
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Постепенная замена вьюшек в старой теме

Сообщение azz »

skynin писал(а): 2020.07.22, 12:47 сделайте все вьюхи, а не тратьте время на постепенность.
все равно ж итог - все вьюхи должны быть обновлены?
ну так зачем эта постепенность?
Так и делаю. Просто думал, может я наследование тем как-то недопонял, и хотелку можно за 15 минут запилить.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Постепенная замена вьюшек в старой теме

Сообщение skynin »

-- хотелку можно за 15 минут запилить.
так и пилится, за "15 минут"
yii\base\Controller::render
yii\base\Controller::getView

а вот что там будет, уже не 15 минут :)
информация или алгоритм.

но в контроллерах то когда вызываем render - та же информация.
смысл только что ее можно будет собрать в один массив.

алгоритм - надо придумывать. скорее всего задействовать рефлексию, или опять же - снабдить его информацией,
например перекрыв еще и beforeAction в котором запоминаем какой action был

итого получается, что проблема то не код написать.

а - как задать информацию о том когда старые вьюхи брать, когда новые

вот как придумаете как эту информацию разместить более компактно - тогда можно за "15 код наваять"

но я думаю что никак.
только сменив ее место, плюс код, который будет в render или getView брать из этого места.

итого, что выиграли?
информацию все равно надо задать, в таком же объеме
но еще и код появился!
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Ответить