в main_tpl.php в начале идут , весь остальной не изменяющийся html-код,
и
шаблон страницы, не считая боковых менюшек и прочего, вызывается в самом модуле.
на мой взгляд противоречат друг другу.
и второе, как я понимаю - неверное.
Так что да - лучше переделать.
модуль может вернуть НТТР заголовок, джейсон, ошибку. Может поменять отображение в шаблоне. Все это должно происходить до начала любого вывода.
Я думаю вы это уже усвоили, но на всякий случай.
Я тогда не понимаю, какой смысл инклюдить модуль в main_tpl.php а не в индексе.
Если main_tpl.php - это шаблон, то что в нем делает логика?
А если после выполнения модуля не нужно будет ничего выводить, а надо будет сделать редирект - зачем вообще инклюдить шаблон?
Нужно сделать структуру последовательной и логичной. В шаблонах - вывод, в модулях - логика.
Что-то я не понял. Вообще ничего.
Если "каждый модуль подключает хедер, меню, футер и нужный шаблон страницы.", то что такое main_tpl.php и зачем оно нужно? И почему так называется?
Абсолютно дурацкий и бесполезный ответ.
Никто и не спрашивал про "тяжёлую артиллерию".
А посмотреть код и подсказать что поправить в текущей парадигме всегда можно.