Модель с древовидным доступом к шаблонам тем я реализовал. Начал тестировать шаблон, и выяснил, что не хватает шаблона даты. Сейчас отформатированная дата выводится тегом $post->localdate или $comment->localdate, что в частных случаях неудовлетворительно. Например в новой версии я ввел линк на архив из даты. Это интересно для постов, а вот для комментов просто ломает html - внутри ссылки вставляется еще одна ссылка. Ну и очевидно, что желательно иметь как минимум два разных шаблона дат для постов и комментов.

Сейчас окончательный шаблон даты формируется из 3 мест: файл .ini языка, спецнастройка формата, и третье - это должна будет сама тема. Название свойства localdate само по себе вводит немного в заблуждение - я его переименую в formateddate, но двойное d смущает, formatedtime как бы исключает дату, когда как для постов важна дата, а не время. Я столь щепетилен к выбору имен потому, что надо писать так, как приходит в голову постороннему сразу в голову. Лучший бы вариант наверно был бы просто date - про него то я и забыл. А забыл я потому, что в старой версии дата хранилась именно в свойстве date (в новой оно переименовано в posted, чтобы отличатся от created и modified). Сейчас это имя освободилось - займу ка я его как раз выводом html даты.

Надо заметить, что в новой версии шаблон по умолчанию равен dateformat = "%d.<a href='/%Y/%m/'>%m.%Y</a>" и таким образом дата поста являлась ссылкой на архив. Вместе с тем это ограничивает использование новых классов даты, появившихся в php5.

Также поменял шаблоны ссылок по умолчанию - они будут заканчиваться на .htm так как мне кажется, что адреса со слешем (/) являются неким злом для IE - он упорно дергает адреса без слеша. Также скорее всего изменю шаблоны рсс ссылок на комментарии к постам - будут иметь вид /comments/1.xml и вообще все xml документы переведу на окончание .xml. Причина - IE,, и нет абсолютно никакой нужды создавать лишнюю нагрузку на сервер, когда как для этого всего лишь достаточно подправить шаблон адреса.

Озадачился кошем урлов. Хочется создать некий пул (100 - 1000 урлов) при поиски которых не дергалась бы база вообще. Задача не так уж и проста и даже не знаю, стоит ли ее реализовывать. На самом деле задача следующая - минимум sql запросов найти урл в таблице. Рассматриваются сложные варианты с несколькими запросами (например теже самые рсс комментов). с другой стороны было бы поместить вариативное окончание в урл в виде get запроса, но я почему то стесняюсь get адресов.

Также призадумался отойти в сторону от текущего формата переменных в стиле php. Например сейчас это $template->content а можно сделать $template.content</code либо сделать оба варианта равноправными. Причина - мне просто лень нажимать три кнопки для знаков минус и больше, и вполне хватит одной точки. С другой стороны вариант <code>-> привычен для понимания php программистам, ну а мне как дельфисту более привычна точка. С другой стороны точка должна абстрактным образом облегчить редактирование html шаблона во всяких редакторах, так как не будет символа больше в именах переменных. Ладно, если уж рубить с плеча, то сделаю с точкой - будет проще и для автоконвертатора тем. Вот таким странным образом трансформировалась идея из шаблона основанного на php функции eval.