Как передать данные в layout?
- Одиночка Айс
- Сообщения: 267
- Зарегистрирован: 2010.02.05, 10:26
- Откуда: Алма-Ата, Казахстан
- Контактная информация:
Как передать данные в layout?
Знаю, вопрос тупой донельзя Но уж очень надо для отрисовывания пунктов подменю. Через контроллер, ясен пень, не канает. Можно конечно попробовать через Yii::app()->params, но не уверен что получится.
К разработчикам: людыны добры, вшейте такую возможность во фреймворк при случае
К разработчикам: людыны добры, вшейте такую возможность во фреймворк при случае
Ни любви, ни тоски, ни жалости...
Re: Как передать данные в layout?
Можно забить на MVC и тупо подгружать данные из базы в самом layout
Animum rege, qui nisi paret, imperat. (Управляй своим настроением, ибо оно, если не повинуется, то повеливает)
-
- Сообщения: 110
- Зарегистрирован: 2010.02.05, 01:58
- Откуда: Нижний Новгород
- Контактная информация:
Re: Как передать данные в layout?
Можно написать функцию, добавить её в базовый контроллер и дергать из лэйаута.
Типа:
layout:
Типа:
Код: Выделить всё
class FrontController extends CController
{
public function getMenuData($params) {...}
}
Код: Выделить всё
<div class="menu"><?php $this->widget('zii.widgets.CMenu', $this->getMenuData()); ?></div>
Re: Как передать данные в layout?
А мне вот не ясен пень почему из контроллера не канает... Помоему все канаен и еще как.Одиночка Айс писал(а):Знаю, вопрос тупой донельзя Но уж очень надо для отрисовывания пунктов подменю. Через контроллер, ясен пень, не канает. Можно конечно попробовать через Yii::app()->params, но не уверен что получится.
К разработчикам: людыны добры, вшейте такую возможность во фреймворк при случае
-
- Сообщения: 139
- Зарегистрирован: 2009.09.02, 16:21
- Откуда: Черкассы, Украина
Re: Как передать данные в layout?
AbS_, я правильно понял, то ТС хочет один раз написать конфиг для меню и забыть, а не дёргать его каждый раз в контроллере. Можно, конечно, поиграться с наследованием, но это уже, имхо, оверхед.
Re: Как передать данные в layout?
А сделать меню в виде виджета и подключить виджет в лайоут не пробовали?
Re: Как передать данные в layout?
А что в этом такого не типичного? По моему обычная практика расширения функционала. Без костылей и наворотов. Притом по дефолту Yii уже наследует контроллеры от класс Controller который расширяет CController. Там и можно сделать это.Dreammaker писал(а):AbS_, я правильно понял, то ТС хочет один раз написать конфиг для меню и забыть, а не дёргать его каждый раз в контроллере. Можно, конечно, поиграться с наследованием, но это уже, имхо, оверхед.
- Одиночка Айс
- Сообщения: 267
- Зарегистрирован: 2010.02.05, 10:26
- Откуда: Алма-Ата, Казахстан
- Контактная информация:
Re: Как передать данные в layout?
Мысль, конечно же, хорошая, но:yii писал(а):А сделать меню в виде виджета и подключить виджет в лайоут не пробовали?
1. Никогда не делал виджеты.
2. Не уверен, что сработает.
Через контроллер даже рыпаться не стоит, потому что мне нужно каким-то образом передать данные между частями layout'a. А вообще суть такова: кликаем на верхнее меню, чуть ниже загружаются подменю родительского пункта меню, но в другом куске layout'a.
Ни любви, ни тоски, ни жалости...
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Как передать данные в layout?
Прекрасно работает, никогда не поздно начать использовать фреймворк по полной!Одиночка Айс писал(а):yii писал(а):Мысль, конечно же, хорошая, но:
1. Никогда не делал виджеты.
2. Не уверен, что сработает.
Жду Yii 3!
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Как передать данные в layout?
В коробке уже лежит виджет CMenu, посмотри как его используют в лэйауте демо-блога.
Жду Yii 3!