Сборка сложной страницы

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

Сборка сложной страницы

Сообщение Psi »

Добрый день.
Изучаю Yii, появился нубский вопрос из разряда "как правильно".

Допустим, есть большой сайт с кучей разделов (наподобие http://www.turizm.ru/): новости, статьи, форум, фотографии от пользователей, поиск туров и т.д.
За каждый раздел отвечает отдельный контроллер, а то и целый модуль, со своими представлениями и моделями. Требуется сделать главную страницу сайта, на которой отображаются блоки, относящиеся к разным разделам.
Как это правильно организовать?

Вижу 2 варианта:
1. Контроллер "Главная страница", запрашивающий действие "Блок для главной страницы" из контроллера каждого раздела и собирающий их вместе.
2. Контроллер "Главная страница", подключающий по виджету для каждого блока.

Первый вариант логичнее выглядит с точки зрения разделения проекта на модули, но не очень красивая получается сборка (придётся пробрасывать готовый HTML из одного контроллера в другой).
Второй вариант мне кажется более соответствующим "духу" фреймворка, но смущает "размазывание" функционала по виджетам.

Как считаете, что лучше? И какие есть ещё варианты?
Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

Re: Сборка сложной страницы

Сообщение andy_s »

Вижу только один вариант - куча виджетов. И какое здесь размазывание? Каждый виджет нужно поместить в модуль, к которому он относится.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Сборка сложной страницы

Сообщение slavcodev »

andy_s, ведь с модулями не так все просто, эти виджеты могут зависеть от модуля в котором они находятся, и тогда без инициализации модуля просто так виджет запустить не получится.
Жду Yii 3!
Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

Re: Сборка сложной страницы

Сообщение andy_s »

Чтобы подключить в виджете модели/компоненты модуля, не обязательно его грузить. Можно просто сделать Yii::import(...) в начале файла. А больше вроде бы и не от чего виджетам зависеть :)
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Сборка сложной страницы

Сообщение slavcodev »

а если модули имеют настройки?
Жду Yii 3!
Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

Re: Сборка сложной страницы

Сообщение andy_s »

Тогда инициализировать модуль!
Psi
Сообщения: 2
Зарегистрирован: 2012.02.27, 15:31

Re: Сборка сложной страницы

Сообщение Psi »

Понял, спасибо. Как-то упустил, что виджеты тоже можно разносить по модулям.
Ответить