我遇到了 Smarty 和常量的问题。我在文件中指定了三个常量:
DEFINE('ARTICLE_COLOUR_10', 'Light green');
DEFINE('ARTICLE_COLOUR_11', 'Claret'); // Bordó
DEFINE('ARTICLE_COLOUR_12', 'Yellow');
在 DB 中,我只保存数字(10、11、12),然后通过这个 var 发送这些数字
$sql_query_int = mysqli_query($connectdb, "SELECT colour FROM stock WHERE product='$articleId'");
$smarty->assign('colours', $sql_query_int);
在 TPL 我得到那些数字
{foreach from=$colours key=field item=value}
{$value.colour}<br>
{/foreach}
现在我想获取变量 ARTICLE_COLOUR_$value.colour;我尝试了三种不同的方法,但无法获得完整的变量。
{$smarty.const.ARTICLE_COLOUR_{$value.colour}}
{$smarty.const.ARTICLE_COLOUR_$value.colour}
{$smarty.const.ARTICLE_COLOUR_value.colour}
Fatal error: Smarty error: [in C:\xampp\htdocs/templates/default/tpl\article.tpl line 10]: syntax error: $smarty.$value.colour is an invalid reference (Smarty_Compiler.class.php, line 2169) in C:\xampp\htdocs\inc\smarty\Smarty.class.php on line 1109
如果这个问题拼写错误,我将不胜感激,我的英语不是很先进。
最佳答案
{constant("ARTICLE_COLOUR_{$value.colour}")}
关于php - 我如何才能获得 smarty 的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40444331/