@MaksimLav

Как обновить фронтенд на существующем проекте?

Суть вопроса:
Есть верстка, разрабатываемая на локальной машине, связанная только с репозиторием этой верстки на github. Как основная работа по ней закончена, передаю человеку, который натягивает верстку на CMS, получается например вот этот исходный вариант:
исходный html находящийся в репозитории верстки
<h1>Привет</h1>
Код находящийся уже на сервере проекта, привязанный к CMS:
<h1>{какой то скрипт заполнения}</h1>
Допустим я изменил свой файл, добавив тег h2 и теперь он выглядит так:
<h1>Привет</h1>
<h2>Пример</h2>

Как связать изменения в файле html с файлом php, чтобы на выходе получить нечто подобное?
<h1>{какой то скрипт заполнения}</h1>
<h2>Пример</h2>

В данный момент, человек, натягивающий на CMS в ручную, смотрит изменения по коммитам, и добавляет их к себе в php файл.
Как это автоматизировать? Не прошу готовое решение, только общие мысли, куда копать и что читать.
  • Вопрос задан
  • 550 просмотров
Пригласить эксперта
Ответы на вопрос 6
Sanes
@Sanes
Если есть CMS, то должна быть тема или view файлы.
Делайте новую тему или вьхи и переключайте. В идеале должен измениться путь в одном месте.
Ответ написан
Комментировать
nuykon
@nuykon
Full Stack Developer
Я так понимаю вы в ручную html пишите(про шаблонизаторы и препроцессоры слышали)?
Сделайте сборщик используя gulp/webpack/nodejs, который к примеру по мимо html будет собирать php/tpl/twig/blade файл.
Я к примеру использую pug шаблонизатор, webpack у меня собирает из него html, из stylus/less/sass собирается css при необходимости я использую плагин или самописный скрипт, который переименовывает html в php к примеру или создает копию и переименовывает ее (не в ручную, все скриптами).

Если не хотите осваивать все эти инструменты, то можно попробовать вот это - https://github.com/pug-php/pug, будете писать вместо html pug шаблоны, а бекендер будет работать с ними же.

Еще как вариант - фронтенд делаем SPA, с бекендом общаемся по JSON API, в таком случае бекендеру не нужно вообще возиться с шаблонами(ни php, ни html) и вам не нужно лезть в php(бекенд)
Ответ написан
@ipokos
1й вариант. Вы делаете верстку для проекта. т.е. вы разворачиваете у себя проект, и работаете в своей ветке. Потом это мерджится с веткой релиза или мастера. Изменения подтягиваются автоматом.

2й вариант. Есть репозиторий проекта. Вы делаете тему в отдельном(своем) репозитории. т.е. она никак не связана с проектом. Тогда стандартный процес "натяжки" темы - руками.
Ответ написан
Комментировать
@vardoLP
Ват ю сэй эбаут май мама?!
наверное никак, человек будет видеть коммиты и в них, что и где изменилось. Ну а дальше будет менять в проекте.
Ответ написан
Комментировать
@skazi_premiere
Верстаем как умеем ;) HTML/CSS/JS
У Вас CMS и в какие конкретно файлы темы необходимо внести изменения без участия человека не понятно.
Логика вроде простая связываете строки файлов друг к другу и при изменении HTML можно анализировать его с прошлой версией и дописывать в php на основе имеющихся связей только новые строки.
Ответ написан
Комментировать
kshshe
@kshshe
Frontend developer
Автоматически и имея только исходную верстку — никак. Файлы будут слишком сильно отличаться, по номерам строк ориентироваться не выйдет (там может быть банальный цикл, выводящий список элементов, это уже не похоже на исходный вариант). Если вы готовы немного разобраться, можно попросить установить вам локально копию проекта уже с CMS и показать, где находятся шаблоны, и править сразу их.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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