zahhar
двинутый новичок
Smarty: использование значений из .conf в пхп-скрипте
Здравствуйте!
Есть файл main.conf с единственной строчкой:
foo = bar
Далее есть смарти-шаблон main.tpl с двумя строчками:
{config_load file=main.conf}
{$var}
И есть пхп-скрипт, содержащий вызов обработчик:
Сейчас в вывод попадает буквальное значение переменной $var - т.е. {#foo#},а мне нужно, чтобы смарти интерпретировал переданный в пхп-переменной указатель на конфиг и вывел-таки его значение, т.е. bar, понимаете? =)
Напрямую написать в шаблоне {#foo#} нельзя, потому что какую конфиг-переменную использовать выясняется в ходе выполнения скрипта и поручить эту чать логики шаблону нельзя по идеологическим соображениям.
Есть альтернативное решение - загрузить конфиг в пхп (кстати, если это единственный вариант, то есть ли решение лучше, чем ф-цией file() загнать посточно в массив и сделать сплит по знаку =?) и из пхп найти значение в конфиге. Но хотелось бы не подгружать конфиг дважды - сначала в пхп, а затем ещё и в шаблоне.
Заранее всем благодарен!
Здравствуйте!
Есть файл main.conf с единственной строчкой:
foo = bar
Далее есть смарти-шаблон main.tpl с двумя строчками:
{config_load file=main.conf}
{$var}
И есть пхп-скрипт, содержащий вызов обработчик:
PHP:
require 'Smarty.class.php';
$smarty = new Smarty;
$var="{#foo#}";
$smarty->assign('var',$var);
$smarty->display('main.tpl');
Напрямую написать в шаблоне {#foo#} нельзя, потому что какую конфиг-переменную использовать выясняется в ходе выполнения скрипта и поручить эту чать логики шаблону нельзя по идеологическим соображениям.
Есть альтернативное решение - загрузить конфиг в пхп (кстати, если это единственный вариант, то есть ли решение лучше, чем ф-цией file() загнать посточно в массив и сделать сплит по знаку =?) и из пхп найти значение в конфиге. Но хотелось бы не подгружать конфиг дважды - сначала в пхп, а затем ещё и в шаблоне.
Заранее всем благодарен!