Тэги {literal} позволяют воспринимать блоки данных буквально. Обычно они используются вместе с javascript или таблицами стилей, в которых фигурные скобки конфликтуют с синтаксисом разделителей. Весь текст внутри тэгов {literal}{/literal} не интерпретируется, а выводится "как есть". Если вам нужно вставить тэги шаблонов в блок {literal}, вам следует пойти по другому пути и использовать {ldelim}{rdelim} для экранирования отдельных разделителей.
Example 7.25. Тэги {literal}
{literal}
<script type="text/javascript">
<!--
function isblank(field) {
if (field.value == '')
{ return false; }
else
{
document.loginform.submit();
return true;
}
}
// -->
</script>
{/literal}
Example 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>
Example 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