Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: подскажите с логикой построения вывода
Форумы портала PHP.SU » » CMS и фреймворки » подскажите с логикой построения вывода

Страниц (1): [1]
 

1. DlTA - 26 Августа, 2011 - 23:58:09 - перейти к сообщению
в общем долго обдумывая предстаящую работу наконец понял где у меня очередная запинка.
предположим что максимально придерживаюсь шаблона MVC

допустим к сайту пришел запрос на вывод некой статьи
рядовая страница сайта имеет "стандартный" вид типа: шапка, левая менюха, контентная часть и подпись
по логике если пришел запрос для вывода некой статьи то для контентной части я для блока view предоставлю текст статьи после чего получу html который должен будут вывести
а вот теперь собсна запарка: полученный html нужно педоставить в шаблон главной страницы, но ведь эта страница содержит не только контентную часть, а еще левую менюху, шапку, подпись, ...... . по логике control должен для view предоставить так же данные которые должны быть выведены для всех этих блоков
так вот суть вопроса: откуда control знает какие именно данные нужно предоставить в view для шаблона (чтоб не нагружать сервер лишними данными) ведь view по теории не сообщает control-у что именно нужно.
2. iflight - 27 Августа, 2011 - 00:31:51 - перейти к сообщению
хм, идентификатор странички - uri.
что мешает кроме запроса главного контента делать запрос различных блоков? а при желании по uri можно запрешать\разрешать вывод того или иного блока на конкретной странице.
Имхо как-то так.
3. DlTA - 27 Августа, 2011 - 00:36:36 - перейти к сообщению
iflight пишет:
делать запрос различных блоков
где по теории должен храниться список блоков которые должны быть в итоге выведены для конкретного типа страниц?
4. DeepVarvar - 27 Августа, 2011 - 00:55:59 - перейти к сообщению
iflight пишет:
для конкретного типа страниц
Добавьте поле `template` в таблицу и пишите туда путь до шаблона.
Так у вас появится возможность хоть на каждый документ подключать свой уникальный шаблон (подшаблон)
5. DlTA - 27 Августа, 2011 - 01:06:19 - перейти к сообщению
вопрос не сколько в том "какой шаблон грузить"
а скорее "чем заполнять шаблон"
как определить какие данные нужно подготовить для заполнения конкретного шаблона?
6. DeepVarvar - 27 Августа, 2011 - 01:08:44 - перейти к сообщению
Таки какраз нет - вы сначала должны получить и определить все данные, и только потом думать каким шаблоном это показывать
7. DlTA - 27 Августа, 2011 - 01:14:52 - перейти к сообщению
DeepVarvar, тоесть к примеру для вывода главной стриницы, на которой у меня в блоке контент будет выводиться всякая мутотень, по типу: новости, новинки, ...
я должен сначала получить список новостей, новинок, структуру для менюхи, газоловка, подписи,
а потом все эти данный пхнуть в шаблон?

но тогда я не пойму а где же удобство редактирования
к примеру хочу добавить на главную подуль чата, где я укажу расположение html кода
который мне сгенерит модуль чата?
8. iflight - 27 Августа, 2011 - 01:25:33 - перейти к сообщению
DlTA У меня к примеру так: Блоки хранятся в БД, у каждого блока прописан регион где он выводится, тема и, грубо говоря, статус пользователя которому его показывать.
Соответственно при инициализации системы грузятся данные о текущей теме и пользователе, а дальше включаются в работу модули блоков, контента и общей информации о странице (мета, заголовок, меню и т.д.), каждый из которых отправляет данные в модуль ответственный за вывод, где эти данные вставляются в шаблоны.
На завершающем этапе вызывается метод модуля вывода, который выводит составленную из кусочков страницу..
(не претендую на соответствие стандартам)))

 

Powered by ExBB FM 1.0 RC1