Вопрос по поводу организации сайта на статическом HTML

Добрый день коллеги.

Прошу помощи в выборе пути реализации расширения возможностей сайта на статическом HTML или интеграции с какой либо CMS.

Есть очень большой сайт начатый очень давно на голом html. В т.ч. меню и все «обрамляющие» элементы дублируются на каждой странице. Хочу добавить еще обрамление (меню, подвал, блоки) без изменений основного сайта и управлять всем этим добром. Комментарии и выборки особо не нужны, т.е. скриптов не будет.

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

Уже рассмотрела несколько решений по интеграции с CMS, но не хочу уходить со статики.

Заранее спасибо!
  • Вопрос задан
  • 3350 просмотров
Пригласить эксперта
Ответы на вопрос 12
@trueneutral
SSI для общих элементов.
Ответ написан
Cosss
@Cosss
Графический дизайнер
Можно делать вставки через php include()
Надо только переименовать файлы в .php, ну или сервер настроить

Выглядит все очень просто
<? include('t/header.html'); ?>
Ответ написан
cystbear
@cystbear
Осмелюсь порекомендовать Phrozn от хабраюзера torio

Phrozn поддерживает Twig, а тот поддерживает декорирование, то что вам так нужно для header`а и footer`а
Ответ написан
1) для статических сайтов все одинаковые элементы лучше включать через SSI
2) при использовании CMS без БД и т.п. сложно будет «загнать» текущий дизайн в CMS
Ответ написан
@Chii
Ещё давным-давно мне оч понравилась джумла за то, что её шаблоны по сути являли собою просто html с якорями. Правда с тех пор я её не видела, но врядли стало хуже.
Ответ написан
Комментировать
Anton_from_Amber
@Anton_from_Amber
Если страниц действительно много, то можно поднатужиться, написать скрипт, который бы повырезал ценную часть со статических файлов и перегнал бы это добро в БД. Ведь структура статики как указано одинакова.
Дальше этот контент несложно прикрутить к практически любой системе управления (MODx к примеру удобен для такой операции), настроить псевдонимы для дружественного url на основе структуры директориев статического сайта и радоваться жизни. К тому же, всегда готовую базу можно экспортировать в набор таких же статических файлов на основе гибких шаблонов.
Резюмируя: один раз переносим контент в базу, настраиваем MODx (или другое удобное), экспортируем в определённый момент статику и кладём в нужную папочку. Если что в дизайне поменялось — делаем повторный экспорт.
Ответ написан
@Deenamo
Adobe Contribute?
Ответ написан
Комментировать
Oreolek
@Oreolek
SSI, конечно, хорош, но зачем на каждой странице дублировать меню буква за буквой? Если пользователь сидит уже на странице, то ему не нужна ссылка на неё же в меню, или стоит её как-то выделить.

Советую подумать насчёт генераторов статических сайтов, например, Jekyll. Никаких php с кэшированием и SSI, всё тот же чистый статический html на выходе — но как минимум шаблоны, включения файлов (хоть с условиями), удобный язык разметки и много других удобств на входе. Естественно, чем мощнее генератор выберете, тем подольше придётся портировать.
Ответ написан
Комментировать
zaka
@zaka Автор вопроса
Спасибо всем за ответы, но для существующего сайта самый простой вариант SSI, или я не все поняла в остальных комментариях.

Уверена, есть более продуктивные и изящные решения, но логика говорит что это наиболее простое решение.

Как Вариант, подскажите аналогичный вариант с примером, с сохранением связей.

Еще раз всем спасибо!
Ответ написан
Комментировать
olegbarabanov
@olegbarabanov
Программист, фрилансер (ИП)
как вариант, поискать свободные CMS-ки, работающие на файлах, а не на БД. Ну и впринципе, все пересобачить на нее. Как вариант, из того что по быстрому нашел, kandidat_cms (не реклама!).
Так же можно подобных найти орду. Да или заказать у какого-нибудь фрилансера-прогера за символическую плату, набалалаить подобное.
Ответ написан
Комментировать
@rPman
Я просто грущу… для этой задачи требуют фреймворк???
Создаете make файл коммандный (bash/cmd/ets..) вида:
php my_page_template.php > my_site_paje.html
....

А внутри файлов обычный php… он именно для этого и создавался.

ВСЕ, внутри php можете подключать любой из миллиона cms (в разумных пределах конечно же), фреймоврков и т.п. а можете просто include ограничиться
Ответ написан
Комментировать
Bytexpert
@Bytexpert
Возможно подойдет бесплатный WebProject bytexpert.ru/webproject но с некоторыми доработками. По умолчанию он генерирует статику, т.е. каждая страница в отдельном HTML, если изменения в повторяющихся элементах страниц, то приходится перезаливать весь сайт, что неудобно. Но в нём есть макросы, которые позволяют разделять режимы просмотра сайта локально для отладки и режим хостинга, можно в шаблоне поставить условие, что при локальном просмотре повторяющиеся элементы интегрировались в страницу, а при выгрузке на хостинг заменять их на процедуры SSI или PHP. Таким образом получите удобство локальной отладки HTML сайта и удобство при выгрузке. А еще можно рассмотреть вариант включения фрагментов JavaScript-ом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы