Смарт проблема, когда назначить переменную - PullRequest
1 голос
/ 19 мая 2011
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.|ss не распознается при использовании назначить ..

Ответы [ 2 ]

2 голосов
/ 19 мая 2011

Используйте галочки (вместо фигурных скобок) вокруг переменной:

`$smarty.const.CMS_URL_POT`

Из руководства :

Smarty распознает назначенный переменные, встроенные в «двойные кавычки» до тех пор, пока имя переменной содержит только цифры, буквы, under_scores и скобки []. Смотрите названия для более подробно.

С любыми другими символами, например .period или $ object> ссылка, затем переменная должна быть окружена обратные кавычки.

0 голосов
/ 19 мая 2011

Возможно, вам следует попробовать использовать backticks, если вы хотите, чтобы константа рассматривалась как часть переменной $ smarty, возьмите это в качестве примера:

{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 *}

Не совсем уверен, чего вы хотите достичь, но янадеюсь, что это дает вам идею.

...