{ldelim} and {rdelim} are used for escaping template delimiters, by default { and }. You can also use {literal}{/literal} to escape blocks of text eg Javascript or CSS. See also the complimentary {$smarty.ldelim}.

Example 7-23. {ldelim}, {rdelim}

{* this will print literal delimiters out of the template *}

{ldelim}funcname{rdelim} is how functions look in Smarty!

The above example will output:

{funcname} is how functions look in Smarty!

Another example with some Javascript

<script language="JavaScript">
function foo() {ldelim}
    ... code ...

will output

<script language="JavaScript">
function foo() {
    .... code ...

Example 7-24. Another Javascript example

<script language="JavaScript" type="text/javascript">
    function myJsFunction(){ldelim}
        alert("The server name\n{$smarty.server.SERVER_NAME}\n{$smarty.server.SERVER_ADDR}");
<a href="javascript:myJsFunction()">Click here for Server Info</a>

See also {literal} and escaping Smarty parsing.