Тэги {literal} позволяют воспринимать блоки данных буквально. Обычно они используются вместе с javascript или таблицами стилей, в которых фигурные скобки конфликтуют с синтаксисом разделителей. Весь текст внутри тэгов {literal}{/literal} не интерпретируется, а выводится "как есть". Если вам нужно вставить тэги шаблонов в блок {literal}, вам следует пойти по другому пути и использовать {ldelim}{rdelim} для экранирования отдельных разделителей.
Пример 7.25. Тэги {literal}
{literal} <script type="text/javascript"> <!-- function isblank(field) { if (field.value == '') { return false; } else { document.loginform.submit(); return true; } } // --> </script> {/literal}
Пример 7.26. Пример функции Javascript
<script language="JavaScript" type="text/javascript"> {literal} function myJsFunction(name, ip){ alert("The server name\n" + name + "\n" + ip); } {/literal} </script> <a href="javascript:myJsFunction('{$smarty.server.SERVER_NAME}','{$smarty.server.SERVER_ADDR}')">Click here for the Server Info</a>
Пример 7.27. Немного CSS в шаблоне
{* включаем этот стиль... в качестве эксперимента *} <style type="text/css"> {literal} /* это интересная идея для этого раздела */ .madIdea{ border: 3px outset #ffffff; margin: 2 3 4 5px; background-color: #001122; } {/literal} </style> <div class="madIdea">With smarty you can embed css in the template</div>
См. также {ldelim} {rdelim} и Предотвращение обработки Smarty