Сейчас, во время разработки новой модели тем, встал вопрос о том, где хранить распарсенные данные темы? Поясню на существующем примере. Шаблоны комментариев хранит класс TCommentTemplate, шаблон формы комментариев класс TCommentForm. И это надо сказать удобно с точки зрения производительности и потреблении памяти. То есть данные хранятся в том месте, где используются, и остальные части движка не отяжелены лишними данными. Парсинг comments.tml происходит во время смены темы. С новым форматом темы надо будет парсить и главный файл index.tml.

Проблема состоит в следующем: стоит ли разрешать иметь внутри темы еще и подтемы? Сейчас все страницы сайта имеют один шаблон index.tml, но можно добавить другие шаблоны страницы, с другими шаблонами виджетов и прочего. То есть получается по существу использование нескольких тем на одном сайте, где одни страницы из одной темы, другие из других. Если да, разрешить многотемность (или подтемы - как назвать то?), то логично, чтобы все распарсенные файлы темы были в одном месте, а не были разбросаны как сейчас. Минус хранения всей темы в одном месте - это увеличение потребления памяти, ведь придется хранить сразу все шаблоны, при том, что большая их часть не будет использоваться на каждой странице. Хотя сейчас посмотрел на размеры - всего лишь несколько кКб, а в общей сумме html шаблон не наберет 10Кб. Тогда так и сделаю - все в одном месте.

Данные из index.tml будут храниться в ttemplate, а остальные в отдельном классе. Но в этом уверенности пока нет. Цена вопроса все в одном ttemplate - это минус два файла: файл класса ttheme и его файл данных. С другой стороны сейчас файл index.tml дергается каждый раз при генерации страницы, без потерь в производительности. Поэтому ничего страшного не будет, если данные будет хранить отдельный класс.

Также думаю про объединение в один файл post.tml и comments.tml, но уверенности в этом пока нет, хотя это вроде как один шаблон.