我需要在smartl中使用tpl文件中的php代码。我用了{php} echo "hello"; {/php}
但我需要在php代码中使用一个smarty变量。
例如,我需要在index.tpl文件中的以下php代码中使用以下变量{$myprojects[project].ID}
{php}
$qry = "select name from tasklist WHERE project = ".{/php} { {php}$myprojects[project].ID {/php} } {php}." ";
echo $qry;
{/php}
答案 0 :(得分:1)
每个模板中都有一个$this
Smarty对象:
$this->get_template_vars('myprojects')
答案 1 :(得分:-1)
你必须像这样编写代码
{php}
$var = $this->get_template_vars('myprojects');
// if it is not an array you can use directly and if it is an array use as below.
$qry = "select name from tasklist WHERE project = ".$var['key'];
echo $qry;
{/php}
为了您的知识和更好的编码帮助,请参阅下文
最好能够在php文件中创建一个类并调用类的对象,并开发一个函数来获得所需的输出。
$objMyF = new my_functions();
$smarty->assign('objMyF',$objMyF);
//and in your tpl file you can call its functions by
{$objMyF->function_name($var)}