非常简单的问题,是否可以在{php} {/ php}标签内使用smarty var。我知道它已被弃用,毫无意义,不推荐等等,但请,我正在寻找一个简单的补丁!
像
这样的东西{php}
$result = mysql_query("SELECT value FROM table WHERE fieldid = 9 AND relid = {MYSMARTYVAR}");
{/php}
谢谢!
更新:我尝试了以下方法。
1-$var = $this->get_template_vars('smarty_var');
2-$var = $smarty->getTemplateVars('smarty_var');
3-$var = $this->_tpl_vars['smarty_var'];
所有给我的致命错误,$ this不在对象上下文等。 我在WHMCS环境中,如果这解释了为什么某些东西被阻止或禁用?
更新2;找到一个比看起来更简单的解决方案,我觉得很傻: $ var =“{$ mysmartyvar}”;
谢谢大家!
答案 0 :(得分:5)
使用$this->get_template_vars('smarty_var')
获取Smarty变量。
$result = mysql_query("SELECT value FROM table WHERE fieldid = '9' AND relid = '" . $this->get_template_vars('smarty_var') . "'");
答案 1 :(得分:2)
{php}
$var = $template->get_template_vars('...')
{/php}
答案 2 :(得分:1)
Answer from the OP. It may be helpful to others.
It is very simple.
$var= "{$mysmartyvar}";
This is working for me.
答案 3 :(得分:0)
是的,所有变量都存储在$this->_tpl_vars
中,因此它应如下所示:
{php}
$result = mysql_query("SELECT value FROM table WHERE fieldid = 9 AND relid = {$this->_tpl_vars['MYSMARTYVAR']}");
{/php}
答案 4 :(得分:0)
$myValue = $template->getVariable('myVariable')->value;
答案 5 :(得分:0)
这对我有用:
{php}
$variable= $GLOBALS['smarty']->getTemplateVars('variable');
{/php}
答案 6 :(得分:-1)
尝试使用“全球”
{php}
global $smarty_object;
$var = $smarty_object->get_template_vars('whatever');
{/php}