Подтемы и где хранить данные тем
25.10.2009Сейчас, во время разработки новой модели тем, встал вопрос о том, где хранить распарсенные данные темы? Поясню на существующем примере. Шаблоны комментариев хранит класс TCommentTemplate, шаблон формы комментариев класс TCommentForm. И это надо сказать удобно с точки зрения производительности и потреблении памяти. То есть данные хранятся в том месте, где используются, и остальные части движка не отяжелены лишними данными. Парсинг comments.tml происходит во время смены темы. С новым форматом темы надо будет парсить и главный файл index.tml.
Проблема состоит в следующем: стоит ли разрешать иметь внутри темы еще и подтемы? Сейчас все страницы сайта имеют один шаблон index.tml, но можно добавить другие шаблоны страницы, с другими шаблонами виджетов и прочего. То есть получается по существу использование нескольких тем на одном сайте, где одни страницы из одной темы, другие из других. Если да, разрешить многотемность (или подтемы - как назвать то?), то логично, чтобы все распарсенные файлы темы были в одном месте, а не были разбросаны как сейчас. Минус хранения всей темы в одном месте - это увеличение потребления памяти, ведь придется хранить сразу все шаблоны, при том, что большая их часть не будет использоваться на каждой странице. Хотя сейчас посмотрел на размеры - всего лишь несколько кКб, а в общей сумме html шаблон не наберет 10Кб. Тогда так и сделаю - все в одном месте.
Данные из index.tml будут храниться в ttemplate, а остальные в отдельном классе. Но в этом уверенности пока нет. Цена вопроса все в одном ttemplate - это минус два файла: файл класса ttheme и его файл данных. С другой стороны сейчас файл index.tml дергается каждый раз при генерации страницы, без потерь в производительности. Поэтому ничего страшного не будет, если данные будет хранить отдельный класс.
Также думаю про объединение в один файл post.tml и comments.tml, но уверенности в этом пока нет, хотя это вроде как один шаблон.
← Ранее Кэширование виджетов и сайтбаров
Позже Где можно использовать блоголёт →
Комментарии (2) на запись “Подтемы и где хранить данные тем”
Оставить комментарий
Если парсится только при смене темы, а каждый оаз не дергается - проще объединить.