Tags literal permitem que um bloco de dados seja tratado literalmente, ou seja, não é interpretado pelo Smarty. Isto é tipicamente usado com blocos de código javascript ou folhas de estilo (stylesheet), que às vezes contém chaves que podem entrar em conflito com o delimitador de sintaxe. Qualquer coisa entre {literal}{/literal} não é interpretado, mas é mostrado. Se você precisa que tags de templates sejam embutidas em um bloco literal, use {ldelim}{rdelim}.
Example 7.13. Tags literal
{literal}
<script language=javascript>
<!--
function isblank(field) {
if (field.value == '')
{ return false; }
else
{
document.loginform.submit();
return true;
}
}
// -->
</script>
{/literal}
