在{php}标签中使用smarty变量
非常简单的问题,是否可以在{php} {/ php}标签中使用smarty var。我知道这是不赞成,毫无意义,不推荐等,但请,我正在寻找一个简单的补丁!在{php}标签中使用smarty变量
喜欢的东西
{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'];
所有给我致命错误,这$不用时对象上下文等 我真的在WHMCS环境,如果这解释了为什么也许某些事情被阻止或禁用?
Update 2;发现一个比看起来更简单的解决方案,我觉得很愚蠢: $ var =“{$ mysmartyvar}”;
谢谢大家!
使用$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') . "'");
是的,所有的变量都存储在$this->_tpl_vars
,所以它应该是这样的:
{php}
$result = mysql_query("SELECT value FROM table WHERE fieldid = 9 AND relid = {$this->_tpl_vars['MYSMARTYVAR']}");
{/php}
谢谢,但我得到这个错误;警告:mysql_fetch_array()期望参数1是资源,布尔给定我 – Sherif 2012-01-12 00:10:56
尝试使用 “全球”
{php}
global $smarty_object;
$var = $smarty_object->get_template_vars('whatever');
{/php}
谢谢,我得到了这个致命错误:调用一个非对象的成员函数get_template_vars():/ – Sherif 2012-01-12 00:54:07
{php}
$var = $template->get_template_vars('...')
{/php}
$myValue = $template->getVariable('myVariable')->value;
你应该解释原因。 – 2015-07-11 06:15:38
答案从OP。这可能对其他人有帮助。
这很简单。
$var= "{$mysmartyvar}";
这是为我工作。
为什么你需要这个?我认为如果你从你的php调用mysql(在调用smarty之前)会更好。或者你有什么特别的理由? – uzsolt 2012-01-12 14:08:56