antivir
Новичок
Проблема шаблонизации на уровне ядра PHP
Привет.
Есть ГЛАВНЫЙ шаблон страницы:
- он лежит в файле main.tpl
Есть ДОЧЕРНИЙ шаблон страницы:
- он лежит в файле children.tpl
Есть скрипт script.php, в котором:
1. Определяется значение переменной $children_tpl (в нашем случае - имя файла - ./children.tpl)
2. Инклудится ГЛАВНЫЙ шаблон
2.1 В свою очередь, в ГЛАВНЫЙ шаблон maint.tpl, который инклудится в script.php, инклудится ДОЧЕРНИЙ шаблон, объявленный в переменной $children_tpl.
Это всё замечтельно работает, но хотелось бы, что бы в $children_tpl был не путь к файлу-шаблону, а УЖЕ ИСПОЛНЕННЫЙ КОД - html код, т.е. стоит задача заменить в ГЛАВНОМ шаблоне инструкции include на операторы echo - <?=....?> и выводить подшаблоны как строки, а не инклюдить их как файлы.
Нужно найти решение, что бы файл
был исполнен и передан в некоторую переменную. А как это сделать - не знаю. Подозреваю, что это вообще невозможно сделать.
По сути, это очевидно нерешаемая проблема, из-за которой и были придуманы шаблонизаторы. Но юзать оные мне совсем не хочется. Smarty меня убил своей банальной ненужностью.
-~{}~ 05.07.06 12:07:
PS забыл добавить - ob_* функции не подходят по факту многих причин.
Привет.
Есть ГЛАВНЫЙ шаблон страницы:
PHP:
<html><?php include($children_tpl) ?></html>
Есть ДОЧЕРНИЙ шаблон страницы:
PHP:
<b><?=$any_var?></b>
Есть скрипт script.php, в котором:
1. Определяется значение переменной $children_tpl (в нашем случае - имя файла - ./children.tpl)
2. Инклудится ГЛАВНЫЙ шаблон
2.1 В свою очередь, в ГЛАВНЫЙ шаблон maint.tpl, который инклудится в script.php, инклудится ДОЧЕРНИЙ шаблон, объявленный в переменной $children_tpl.
Это всё замечтельно работает, но хотелось бы, что бы в $children_tpl был не путь к файлу-шаблону, а УЖЕ ИСПОЛНЕННЫЙ КОД - html код, т.е. стоит задача заменить в ГЛАВНОМ шаблоне инструкции include на операторы echo - <?=....?> и выводить подшаблоны как строки, а не инклюдить их как файлы.
Нужно найти решение, что бы файл
PHP:
<b><?=$any_var?></b>
По сути, это очевидно нерешаемая проблема, из-за которой и были придуманы шаблонизаторы. Но юзать оные мне совсем не хочется. Smarty меня убил своей банальной ненужностью.
-~{}~ 05.07.06 12:07:
PS забыл добавить - ob_* функции не подходят по факту многих причин.