хочется немного обсудить yii

Lirik

Новичок
MiksIr
Спасибо, то что нужно, не дочитал в CController самую малость) результат renderText() сохраняется в pageState как я понял, а как он потом выводится?например я рендерю файлы, но не вывожу их сразу, нужно делать так что-ли с renderText():
PHP:
 $view = $this->renderPartial('view1',array(),true);
 $view .= $this->renderPartial('view2',array(),true);
 $view .= $this->renderText('view3',array(),true);
 //а при вызове последнего рендеринга сбросить результат в браузер
 $this->renderText($view);
или как?
grigori
по-моему я нормально описал задачу
 

Lirik

Новичок
MiksIr
Можешь привести пример, как надо правильно использовать, я по коду не понял куда он сохраняет состояние основного шаблона, когда через renderText(), в него рендеришь все?
PHP:
$this->layout = 'layoutName';
$this->render('first');
$this->renderPartial('second');
вот так можно?
 

MiksIr

miksir@home:~$
render берет шаблон 'first' оборачивает в layout и выводит (или возвращает)
renderPartial берет шаблон 'second' и выводит что там было (или возвращает)
renderText берет содержимое аргумента, оборачивает в layout и выводит (или возвращает)
в чем сложность то? =)
 

Lirik

Новичок
MiksIr
Это я все понял, сложность в том чтобы вывести мне 3 шаблона в основной layout, я посмотрел реализацию всех рендереров и вроде можно только так
PHP:
$view = $this->renderPartial('first',array(),true);
$view .= $this->renderPartial('second',array(),true);
$view .= $this->renderPartial('third'array(),true);
$this->renderText($view);
по другому нормально никак?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Lirik не надо юзать yii, возми joomla и сделай сайт мышкой
yii не для новичков - тут нужны мозги и прямые руки

ну или хотя бы пиши свои вопросы в других темах, пожалуйста, не засоряй ветку
 

Lirik

Новичок
grigori
Не можешь помочь не пиши, или ты только балоболить можешь?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
народ, если кому не влом, вынесите сообщения после #118 в новую ветку, пожалуйста :)
 

Redjik

Джедай-мастер
вопрос по Layout больше теоретический, в Yii есть втроенные методы для обработки авторизации, поэтому нету проблемы в обработку layout добавить инфо о логине...

Теоретически только, на практике пока не понадобилось, но предположим нам нужно именно в layout закниуть 3 топ продукта из каталога...

Я бы такую задачу решал через абстрактынй класс контроллера, в конструкторе через модель кэшированный запрос в бд на эти 3 записи.

Остальные контроллеры extend уже через этот абстрактный класс... тогда автоматом инфа в layout идет, и инкапсуляция не страдает...
 

Lirik

Новичок
Иван Redjik Матвеев
Инфа динамически подцепляется,а в view писать if-else не кошерно как-то. твой пример немного не о том, но все равно спасибо. плодить кучу контроллеров неохота, лучше уж такой псевдо костыль.
 

Lirik

Новичок
Иван Redjik Матвеев
я имел ввиду другое, не то что ты предложил. сделал так.
PHP:
$view = $this->renderPartial('first',array(),true);
$view .= $this->renderPartial('second',array(),true);
$view .= $this->renderPartial('third'array(),true);
$this->renderText($view);
когда view динамически цепляются то пихать в одно глупо, чтобы потом в самом view еще расставлять if-else, спасибо не надо)
 

Lirik

Новичок
MiksIr
да, так и сделал в итоге. проблемы только с этим возникли и с встраиванием своих ролей, а так фреймворк нравится, чем больше копаешься в нем тем больше нравится. просто не хочется писать быдлокод, поэтому спросил как лучше.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
дорогие участники специальной олимпиады! :)
то, что вы обсуждаете - это примерно то же, что
$x = file_get_contents('file1.php').file_get_contents('file2.php');
eval($x);

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

Redjik

Джедай-мастер
grigori на самом деле я не к этому обсуждению задал вопрос =)
Хотя по нему и не совсем понятно - что это вопрос =)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Иван Redjik Матвеев
> нужно именно в layout закниуть 3 топ продукта из каталога
почитай про виджеты и портлеты
 
Сверху