SmartyのテンプレートにJavaScriptやCSSを記述する

Smartyは、処理すべきものをデフォルトでは{}で囲まれた部分を対象としています。
JavaScriptやCSSも同様に{}を使用しています。

外部ファイルにすれば済むことですが、どうしても埋めたい場合次のようにします。

{literal}
<script language="JavaScript" type="text/javascript">
function checkPost() {

    bError = false;

    if (document.post.message.value.length < 1) {
        ErrorMsg = "メッセージを入力して投稿してください";
    }
    else{
        bError = true;
    }

    if (bError) {
        alert(ErrorMsg);
    }
    return bError;
}
</script>
{/literal}

{literal}{/literal}内に記述することでSmartyはこの中を無視して処理します。

他にも{ldelim},{rdelim}とテンプレートへ指定することでSmartyが出力する際に{}へ置き換えます。

[an error occurred while processing this directive]