| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Хранение структуры сайта и шаблонов |
| Автор: Zuzuka 11.5.2010, 23:47 |
| Здравствуйте, имеется: -Таблица в БД вида: id : pid : name : url : template В поле template хранится ссылка на файл шаблона (его путь в реальной фс). Вопрос, насколько целесообразно хранить не ссылку на файл а например id в другой таблице вида id template, где в поле template будет записан сам текст шаблона. В системе все операции осуществляю через хелпперы(виджеты), контроллером по сути обхожусь одним, который обращается к модулям. Вывод хелпперов подставляю в шаблон через простенький шаблонизатор, затем готовая страница кешируется, грубо говоря кешируется весь запрос к какому-то url. Текст шаблона небольшой обычно: ... <html> ... <headerWidget:title=Test> ... <articleWidget:table=test,id=1> ... </html> Сделал так, чтобы в админке сделать простое редактирование - получаем шаблон, находим все хелпперы и строим минисписок с ними при щелчке открываем форму\окошко их редактирования(т.к. параметры вызова можно задавать, то на выходе из всех полей просто получаем строку (<widget:param1=test,param2=test...>), которая вставляется в шаблон. Т.к. структура хранится тоже в бд, то ей просто манипулировать. Собственно в итоге: 1.Хранить ссылку на файл шаблона или можно хранить текст шаблона в бд, некешируемых страниц немного(админка, форма обратной связи...)? 2.Использование хелпперов в таком контексте разумно? Спасибо. |
| Автор: NewDima 12.5.2010, 03:35 |
| Не видно ни одного реального довода для использования в этой задаче базы данных. Предчувствую, что потом начнутся вопросы, типа "а что здесь можно оптимизировать?". Это раз. А два, вы понимаете, для чего вообще используются хелперы? Добавите себе работы с приведением урлов к одному виду, оно вам надо? Не проще ли сразу договориться о том, как и где хранятся шаблоны? |
| Автор: Zuzuka 13.5.2010, 19:08 |
| А как вообще делают в cms админку с возможностью редактирования страницы начиная от метатэгов и заголовка и до контента? Хранят все редактируемые единицы отдельно в бд и потом склеивают просто? (обновляя кэш при изменении)... Допустим есть блок выводяший верхушку и меню, как лучше хранить его параметры, если они могут меняться. |