先日、EC-CUBEではなく、Zend Frameworkを使った仕事でSmartyを実装していると、
エラーが発生して画面が真っ白になってしまいました。
PHPやSmartyの文法に間違いはないようでした。
エラーのページは会員規約のページで、
特に複雑な実装もしていません。
「おかしいなぁ。」
そう思って会員規約を削除するとエラーが出ない。
面倒ですが、会員規約を順番に削除し判明したのが、
「マ」「急」の2文字を使っているとエラーが出るのです。
ぐぐってみると、
http://homepage1.nifty.com/ogasa/txt2mac.htm
にある使ってはいけない文字に該当していたようです。
Smartyのデリミタはデフォルトの { } にしていたのですが、
どうやら禁止されている文字は
文字コードの関係上、ブラウザに { } と解釈されて
エラーが発生していたようです。
(文字コードとか、あまりよくわかっていません汗)
なぜEC-CUBEのSmartyのデリミタがHTMLコメントと同様の <!-- --> なのかを
理解した瞬間でした。
結局デリミタを <!-- --> に変えて修正完了です。