2013-04-06 9 views
0

Есть ли способ получить все используемые переменные из файла шаблона smarty (3) перед назначением переменных объекту smarty?Чтение использованных переменных из файла шаблона smarty

Например, у меня есть следующий файл шаблона:

Hello {$user.firstname},<br /> 
You are active in the following groups:<br /> 
{foreach from=$user.groups item=group} 
    - {$group.name}<br /> 
{/foreach} 
<br /> 
The city you live in is: {$city} 

Теперь причина им запрашиваемая потому, что вместо того, чтобы получать всю информацию о пользователях, я просто хотел бы создать запрос в зависимости от используемых переменных в Smarty.

Есть в любом случае, чтобы сделать что-то вроде следующего:

$smarty = new smarty; 

$result = $smarty->getVariablesFromTemplate('index.tpl'); 

print_r($result); 

/* outputs: 
array(
    'user' => array(
     'firstname' => true, 
     'groups' => array(
     'name' => true 
    ), 
     'city' => true 
    ) 
); 
*/ 

ответ

0

Я не уверен, что ваш SQL, но вы можете получить доступ к переменным шаблона присвоенные Smarty (используя $smarty->assign('var', 'value')), следуя код

$tpl_vars = $smarty->_tpl_vars; 
+1

Хороший способ сделать это на самом деле использует '$ smarty-> getTemplateVars();' однако я не пытаюсь прочитать, какие переменные я назначил шаблону, я пытаюсь прочитать, какие переменные используются в файле шаблона. – jeffreydev

+0

для этого вам придется проанализировать файл шаблона, который я думаю. – Ejaz

Смежные вопросы