Здравствуйте. Помогите в реализации логики представления (вывода контента) (я новичок в программировании, стараюсь, но нужен совет). Допустим, существует несколько скриптов, разложенных (физически) по папкам – articles/article.php и blogs/blog.php, которые отвечают за получение статьи и поста блога из базы. На данный момент в этих же файлах инициализируется Смарти и передается код в тпл-файлы. Теперь мне нужно разрозненные php-файлы выводить в одном шаблоне (то есть собрать сайт воедино), то есть вынести визуализацию из этих файлов в один файл шаблона. К файлам article.php и blog.php ниже через require подключается файл template.php. И вот тут встает вопрос – как выводить код из article.php в template.php? Завернуть код в функцию и вызывать ее в шаблоне не получится, так как по ходу выполнения кода могут отправляться http-заголовки, а в теле шаблона уже будет другой html-код, и возникнет ошибка headers already sent. Единственное что смог пока придумать – инициализировать и давать уникальное значение специальной переменной $variable в скриптах articles.php и blogs.php, вывод в смарти вырезать из этих файлов в файл view.php, в этом файле на основе значения $variable выводить соответствующее подключение тпл-файла смарти, а к файлу template.php инклюдить уже view.php, Но такой костыль мне не нравится. Как можно сделать лучше?
А наоборот не пробовал Обычно создается общий шаблон (template.php) к которому подключаются все необходимое.
Давай по порядку как строится приложение. Создается каркас макета допустим template.php. В нем содержится элементы которые должны быть на всех страницах, предположим меню, header сайта и т.д. Затем в зависимости от действий пользователя в основной шаблон вставляется шаблон для отображения статей, новостей и т.д. Это я описал в общей форме принцип. Никаких проблем с хедорами быть не должно.Если они у тебя есть значить ты написал не правильно.