Кто мешает вынести общие части (шапка, подвал, сайдбар) в отдельные подшаблоны и инклудить их? Или можно как в джанге, использовать наследование шаблонов, сделать базовый шаблон и расширять его понемножку. Правда. реализацию наследования придется писать самому, так как те шаблонизаторы, вроде Twig, что ее поддерживают, на мой взгляд, неоптимальны и кривоваты.
Также, вопрос, кто запрещает для разных действий использовать (если требуется) один шаблон? Никто не запрещает.
В любом случае, писать по 2 раза/кописпастить код — это неправильно.