Подкиньте пару идей для мини-шаблонизатора: заклинило мну

sni

Новичок
Подкиньте пару идей для мини-шаблонизатора: заклинило мну

Громкое дал название для этой вещи, конечно.
Суть вопроса такова.
Имеются статичные сайты из сотен и сотен HTML страничек.....
Решил обновить и упорядочить дизайн.... да пару скриптов добавить на все страницы
упс! :)

CMS почти точно отпадает: переводить все страницы нереально долго, +нужно переходить сразу всему сайту. Я же собираюсь постепенно, разделами или страницами обновлять, как будет время.... Да и не хочется БД использовать тут.

в голову пришла идея сделать подобие шаблонизатора, который собирает страничку из кусков:

===================================
require_once header.php /// обьявление html , дизайн, верхняя навигация, включаемые css, js и т.п.

СОДЕРЖИМОЕ СТРАНИЦЫ /// html код основного текстового блока страницы (содержимое <td> бывшего HTML )

require_once footer.php ... завершающая часть дизайна, закрытие основной таблицы, и body
===================================


тоесть вместо прежних html файлов останется лишь основной текст (одна ячейка таблицы) и пара "include"

плюс у этого решения для меня, в том, что я смогу постепенно заменять файлы , а необновленные файлы будут совершенно рабочие и ссылочные связи не потеряются...


НА ЧЕМ ЗАПОРОЛСЯ:
Вроде всё просто - оставить от всех HTML cтраниц только основной текстовый блок, прилепить сверху и снизу header/footer и всё. Ан нет - теряется <Title>. Очень важная часть страницы :(
Если использовать title из общего header.php, то заголовок у всех страниц одинаковый... что недопустимо
Хранить title вместе с текстовым блоком нельзя: после заголовка и перед текстом идет кусок дизайна, повторямый на всех страницах, ради которого все и затевалось....
через js перегружать title тоже нельзя: поисковики не будут индексировать


посоветуйте.. может есть у кого мысли? может совсем не в том направлении иду
P.S. желательно использовать идею простого решения в пару строк кода, как у меня :)
 

Bitterman

Новичок
Хранить title вместе с текстовым блоком нельзя: после заголовка и перед текстом идет кусок дизайна, повторямый на всех страницах, ради которого все и затевалось...
Честно говоря от меня ускользнул смысл этого предложения :(

Что касается вопроса, то не вижу никаких проблем:
Можно выводить хедер и футер функциями, а тайтл передавать, как параметр. Можно тайтл помещать в переменную перед первым инклюдом и там использовать уже эту переменную
 

sni

Новичок
Bitterman
хм..я как то не подумал....

но всётаки ищу пока более массовое решение, чтобы можно было попытаться сразу для всех страниц применить с помощью поиска-замены.

если не придумаю, то наверно через функции попробую...



Честно говоря от меня ускользнул смысл этого предложения
Извиняюсь, выразил мысль запутанно.. но судя по ответу- всё правильно поняли :)
 

jonjonson

Охренеть
SSI (Server Side Include)

И наконец определитесь, нужна вам CMS или нет.
 

Фанат

oncle terrible
Команда форума
Я бы предложил решение на основе mod_rewrite.
новые файлы помещаются отдельно от старых. при этом пхп в них нет совсем. первая строчка файла - тайтл, остальные -содержимое.

если файл старый, и лежит на старом месте - он просто отдается.
запросы к несуществующим файлам направляются рерайтом на пхп-скрипт.
пхп скрипт, получает запрошеный адрес, читает файл, лепит первую строчку в переменную, выводит хидер, содержимое и футер
 
Сверху