Fatal error: Smarty error: [in rezultati/index.tpl line 24]: syntax error: $smarty. is an unknown reference (Smarty_Compiler.class.php, line 2164) in D:\HTTPSERVER\wwwroot\kajak\sistem\smarty\libs\Smarty.class.php on line 1093
{assign var="file" value="{$smarty.const.CMS_URL_POT}/moduli/rezultati/files/{$rezultat.datoteka|ss}"}
{if file_exists($file)}
<a href="{$file}" target="_blank">{$smarty.const.REZULTATI_025}</a>
{/if}
为什么这无效:{assign var="file" value="{$smarty.const.CMS_URL_POT}
和$rezultat.datoteka|ss
。使用assign时无法识别|ss
。
答案 0 :(得分:2)
在变量周围使用反引号(而不是大括号):
`$smarty.const.CMS_URL_POT`
来自manual:
Smarty会认出已分配 嵌入“双引号”的变量 只要变量名包含 只有数字,字母,under_scores 和括号[]。请参阅命名了解更多信息 细节。
例如,使用任何其他字符 然后是.period或$ object&gt;引用 变量必须被包围 反引号。
答案 1 :(得分:0)
如果您希望将常量视为$ smarty变量的一部分,也许您应该尝试使用backticks
,以此为例:
{assign var="myvar" value="20"}
{* myCONST = 'test' - assuming you have a const defined somewhere *}
{assign var="file" value="(`$smarty.const.myCONST`/moduli/rezultati/files/`$myvar`)"}
{$file} {* should return "test/moduli/rezultati/files/20 *}
不完全确定你想要达到的目标,但我希望这能让你有所了解。