2013-02-23 3 views
0

У меня возникли трудности с установкой значения по умолчанию var в smarty, чтобы иметь фигурные скобки, содержащиеся в нем, я пытаюсь сделать следующее без везения.smarty var default value, escape curly фигурные скобки

<input type="hidden" id="orders" value="{$orders|default:'{}'}"> 

также пытался использовать ldelim и rdelim и не повезло.

<input type="hidden" id="orders" value="{$orders|default:'{ldelim}{rdelim}'}"> 

Есть ли какой-то базовый синтаксис smarty, который я потерял или мне нужно будет разработать решение для работы?

ответ

0

Чтобы избежать брекетов в Smarty, окружить их с любыми пробельных символов, как это:

<input type="hidden" id="orders" value="{$orders|default:' { } '}"> 

Вы также можете избежать CSS или JavaScript разделов с {буквальных} тегов:

<input type="hidden" id="orders" value="{$orders|default:'{literal}{}{/literal}'}"> 
+0

, которая не работала – seesoe

+0

Оба распорки должны иметь пробелы вокруг него (пробел или символ новой строки). – silkfire

+0

оба метода не работают, я также пробовал литеральный метод раньше – seesoe

0

Используйте двойные кавычки

<input type="hidden" id="orders" value="{$orders|default:"{ldelim}{rdelim}"}">

+0

синтаксическая ошибка: нераспознанный тег: – seesoe

0

Внутренний тег внутри внутренней метки нельзя. Единственный способ добавить значение по умолчанию здесь использовать условие:

<input type="hidden" id="orders" value="{if $orders}{$order}{else}{ldelim}{rdelim}{/if}"> 
Смежные вопросы