Разделите ваши шаблоны на логику управления / подготовки данных и «представления», которые выполняют рендеринг вывода.
Сначала настройте необходимые данные, а затем запишите вывод с минимально возможной логикой.
Если вы можете разделить выходные данные на фрагменты многократного использования, вы можете поместить их в обертки методов в блоки <# + #> и выполнять структурную работу как набор вызовов методов.