Как вывести макет в макете (или другое решение задачи)

#
Как вывести макет в макете (или другое решение задачи)
Добрый день. Обрисую сложившуюся ситуацию, т.к. не уверен что вообще иду в правильном направлении и задаю правильный вопрос в теме.

С HostCMS столкнулся сегодня в первый раз, пришел клиент с готовым сайтом и накидал изменений которые нужно сделать. Некоторые из них касаются шапки и подвала. Я стал изучать устройство сайта и вижу что ВСЕ страницы (сайт небольшой, их ~30 штук) сделаны отдельными макетами, каждый из которых привязан к соответствующей странице в структуре.

Насколько я могу судить навскидку, это неправильный подход, но все бы ничего если не одно "но". В каждом из этих макетов достаточно объемный код и шапки и подвала полностью дублируются, а не подключаются из какого-то одного места. Т.е. мне, для того чтобы поменять условно просто логотип, надо сейчас отредактировать все 30 макетов.

Я логично решил что надо шапку с футером вынести в какие-то отдельные сущности и просто подключать в уже существующих макетах. Но в какие сущности? Я по наитию сделал еще два макета, назвав их соответственно и начал гуглить как подключить один макет в другой макет, но... ничего не нашел. Т.е. понятно что я могу просто написать <? include '...'; ?>, но это явно будет костыль.
Собственно, вопрос: как правильно подключить один макет внутри другого и приемлема ли вообще такая практика в рамках HostCMS?

Второй вариант который я пока увидел, это вынести шапку и подвал в так называемые "шорткоды" и подключать в макетах уже их.

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

Заранее прошу прощения если вопросы или рассуждения слишком дилетантские. Я и погуглил, и почитал форум, и документацию - но с ходу правда очень сложно разобраться. Надеюсь на вашу помощь.
#
Re: Как вывести макет в макете (или другое решение задачи)
Ага, выяснил что шорткоды не работают в макетах https://www.hostcms.ru/forums/2/11498/
Вопрос стал еще актуальнее, как все-таки в макетах по простому подключать повторяющиеся куски html/php кода?
#
Re: Как вывести макет в макете (или другое решение задачи)
1. Нужно создать общий макет, в который вынести шапку и футер
2. Во всех остальных макетах удаляется шапка и футер и меняется родительский макет на созданный в первом пункте

ps. на счет шорткодов: Использование шорткодов в любом месте
HostDev.pw - модули для HostCMS, Telegram: @hostdev
#
Re: Как вывести макет в макете (или другое решение задачи)
Ну и ещё виджеты, конечно же.
Авторизация