[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Типы страниц, как продумать это?
McLotos
Когда проект разрастается до уровня "больше пары страниц". то возникает необходимость создания нескольких разных шаблонов страницы, например:
list - для списков
page - для текстовой информации
form - для форм
ну или какие-то другие.
Возникает вопрос. как заранее определить какой шаблон нужно подключать?
Я не говорю о ситуации когда я заранее знаю какие данные будут выводиться, ну т.е. к примеру если это CMS, то как она определяет какой шаблон нужно подключить?
Я вот думаю что можно примерно сориентироваться по уровню ссылок, допустим
site.ru - первый уровень.
site.ru/CatName/ - второй
site.ru/CatName/PageName - третий
допустим что я заранее знаю что все страницы категорий могут содержать только списки, поэтому для них использую List.tpl а третий уровень может быть как формой так и просто текстом. Вот как вы обычно ориентируете проект в такой ситуации? В некоторых CMS я видел в БД таблицу pages в которой указано что если URL такой-то то имя страницы такое-то и тип страницы такой-то.
На сколько этот вариант адекватен. или можно использовать что-то другое?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
rooor
например, читай про MVC
site.ru/CatName/ CatName - контроллер, у него свой набор функций
site.ru/CatName/PageName - PageName - один из методов контроллера CatName, который будет знать какой шаблон подключать

ну или я не понял вопроса =)
McLotos
ну вот смотри. сейчас я пишу проект. там очень жесткая логика шаблонов
главная страница и страницы http://site.ru/Блабла могут отображать только списки
а вот страницы http://site.ru/Блабла/Бла могут отображать только текстовый материал
Тут всё просто, если ссылка первого-второго уровня то list, если ссылка третьего уровня то text
а если проект будет ещё сложнее? Где 3,4 уровня, как тогда?
Напомню что мне нужно предусмотреть такой вариант, чтобы он работал даже если я не знаю что конкретно будет на странице.
Ну допустим захотел пользователь через админку создать новую страницу. Он забил контент и поселил её в какую-то категорию, т.е. она получилась 3го уровня
http://site.ru/Категория/Страница
Какой шаблон мне подключить? Я не знаю что там, список, текст, комбинированный материал, а может это вообще форма.

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
FatCat
Цитата (SergeySA @ 5.07.2014 - 21:51)
т.е. к примеру если это CMS, то как она определяет какой шаблон нужно подключить?

Могу рассказать, как это реализовано на этом форуме.
Есть иерархия входящих переменных. И есть маски: например, showtopic маска для переменной t.
idx - главная страница
c - категория
f - подфорум
t - топик

Шаблон задает самая низшая из переменных.

На низшем уровне, кроме t, есть еще search для поиска и т.п.

_____________
Бесплатному сыру в дырки не заглядывают...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.