Так, по CMS в целом уже ответили, я лишь пролью свет на сам процесс. По сути термин "натянуть на CMS" не имеет особого смысла. Объясняю:
- В подавляющем большинстве случаев, если делать по уму, речь идет не о вставке нескольких переменных во вьюху, а о подключении ряда плагинов, их настройке, а также написании кастомного кода. Чем больше плюшек и функционала в дизайне, структуре - тем больше кастома надо пилить. На бекенде. И делать это правильно. "Натянуть" абы-как тут не покатит.
- Чем более кастомный проект, тем больше и больше работы именно на бекенде. Исходя из этого, на практике в крупных проектах фронтенд вообще не прикасается к PHP, "натягиванием" занимаются именно бекендеры. Фронт выдает чистую верстку, а уже задача бекенда - сделать из нее конечный динамичный продукт. Максимум, что светит фронту - уже после натяжки делать какие-то правки, но и тут работа будет сводиться к HTML-CSS-JS. Даже если HTML физически находится внутри файла с расширением .php.