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

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

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

Сообщение Psi » 2012.02.27, 15:55

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

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

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

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

Как считаете, что лучше? И какие есть ещё варианты?

Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

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

Сообщение andy_s » 2012.02.27, 16:19

Вижу только один вариант - куча виджетов. И какое здесь размазывание? Каждый виджет нужно поместить в модуль, к которому он относится.

Аватара пользователя
slavcodev
Сообщения: 3133
Зарегистрирован: 2009.04.02, 21:42
Откуда: Altea, Spain
Контактная информация:

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

Сообщение slavcodev » 2012.02.27, 16:37

andy_s, ведь с модулями не так все просто, эти виджеты могут зависеть от модуля в котором они находятся, и тогда без инициализации модуля просто так виджет запустить не получится.
Жду Yii 3!

Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

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

Сообщение andy_s » 2012.02.27, 16:40

Чтобы подключить в виджете модели/компоненты модуля, не обязательно его грузить. Можно просто сделать Yii::import(...) в начале файла. А больше вроде бы и не от чего виджетам зависеть :)

Аватара пользователя
slavcodev
Сообщения: 3133
Зарегистрирован: 2009.04.02, 21:42
Откуда: Altea, Spain
Контактная информация:

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

Сообщение slavcodev » 2012.02.27, 17:01

а если модули имеют настройки?
Жду Yii 3!

Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

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

Сообщение andy_s » 2012.02.27, 17:23

Тогда инициализировать модуль!

Psi
Сообщения: 2
Зарегистрирован: 2012.02.27, 15:31

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

Сообщение Psi » 2012.02.28, 09:47

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

Ответить