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が出力する際に{}へ置き換えます。