Приветствую. Есть старая тема, стоит задача переехать на новую. Предполагается сделать это, постепенно заменяя вьюхи.
Как это можно сделать, учитывая что layout-ы будут другие? Есть ли способ красивее, чем в каждом экшене контроллера указывать новый layout?
Постепенная замена вьюшек в старой теме
- Dominus
- Сообщения: 892
- Зарегистрирован: 2013.03.14, 21:27
- Откуда: Россия, Иваново
- Контактная информация:
Re: Постепенная замена вьюшек в старой теме
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Re: Постепенная замена вьюшек в старой теме
Это я видел...
Re: Постепенная замена вьюшек в старой теме
сколько времени занимает
- написать новую вьюху
- в контроллере указать ее имя
то есть каково соотношение трудоемкости этих действий, что - указывать имя вьюхи в контроллере стало "некрасиво"?
но, можно все, если требуется "постепенно", то расширить
yii\base\Controller::render
yii\base\Controller::getView
и разместить там какую хочется логику.
например сделать вьюхи на каждый день недели, и показывать их соответственно
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Тем более что окажется что оно вам и не нужно было, странное это.
Re: Постепенная замена вьюшек в старой теме
Контроллеров 14. Экшенов в среднем 4-5. Вначале прописать, потом по окончании переезда сходить удалить. Ну такое себе занятие.
Re: Постепенная замена вьюшек в старой теме
Вам все равно где-то надо будет указать
какие вьюхи для каких контроллеров-экшн старые, а для каких новые
ну, как написал уже, render, getView свои, и массив, где описаны старые, новые. (14 * 5 описаний там будет)
или какое мудреное правило.
итого, потратите сколько времени на создание такого механизма?
причем - на кой он после переезда?
Темизация - да, полезная штука.
Но на механизм для постепенного замены вьюх - точно требуется тратить время?
-- Контроллеров 14. Экшенов в среднем 4-5.
сделайте все вьюхи, а не тратьте время на постепенность.
все равно ж итог - все вьюхи должны быть обновлены?
ну так зачем эта постепенность?
другими словами - не хотите ли вы странного, потому что к самой задаче подходите странно?
и не увеличит ли объем работ этот странный подход?
какие вьюхи для каких контроллеров-экшн старые, а для каких новые
ну, как написал уже, render, getView свои, и массив, где описаны старые, новые. (14 * 5 описаний там будет)
или какое мудреное правило.
итого, потратите сколько времени на создание такого механизма?
причем - на кой он после переезда?
Темизация - да, полезная штука.
Но на механизм для постепенного замены вьюх - точно требуется тратить время?
-- Контроллеров 14. Экшенов в среднем 4-5.
сделайте все вьюхи, а не тратьте время на постепенность.
все равно ж итог - все вьюхи должны быть обновлены?
ну так зачем эта постепенность?
другими словами - не хотите ли вы странного, потому что к самой задаче подходите странно?
и не увеличит ли объем работ этот странный подход?
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Тем более что окажется что оно вам и не нужно было, странное это.
Re: Постепенная замена вьюшек в старой теме
-- хотелку можно за 15 минут запилить.
так и пилится, за "15 минут"
yii\base\Controller::render
yii\base\Controller::getView
а вот что там будет, уже не 15 минут
информация или алгоритм.
но в контроллерах то когда вызываем render - та же информация.
смысл только что ее можно будет собрать в один массив.
алгоритм - надо придумывать. скорее всего задействовать рефлексию, или опять же - снабдить его информацией,
например перекрыв еще и beforeAction в котором запоминаем какой action был
итого получается, что проблема то не код написать.
а - как задать информацию о том когда старые вьюхи брать, когда новые
вот как придумаете как эту информацию разместить более компактно - тогда можно за "15 код наваять"
но я думаю что никак.
только сменив ее место, плюс код, который будет в render или getView брать из этого места.
итого, что выиграли?
информацию все равно надо задать, в таком же объеме
но еще и код появился!
так и пилится, за "15 минут"
yii\base\Controller::render
yii\base\Controller::getView
а вот что там будет, уже не 15 минут
информация или алгоритм.
но в контроллерах то когда вызываем render - та же информация.
смысл только что ее можно будет собрать в один массив.
алгоритм - надо придумывать. скорее всего задействовать рефлексию, или опять же - снабдить его информацией,
например перекрыв еще и beforeAction в котором запоминаем какой action был
итого получается, что проблема то не код написать.
а - как задать информацию о том когда старые вьюхи брать, когда новые
вот как придумаете как эту информацию разместить более компактно - тогда можно за "15 код наваять"
но я думаю что никак.
только сменив ее место, плюс код, который будет в render или getView брать из этого места.
итого, что выиграли?
информацию все равно надо задать, в таком же объеме
но еще и код появился!
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Тем более что окажется что оно вам и не нужно было, странное это.