先日、EC-CUBEではなく、Zend Frameworkを使った仕事でSmartyを実装していると、


エラーが発生して画面が真っ白になってしまいました。


PHPやSmartyの文法に間違いはないようでした。


エラーのページは会員規約のページで、


特に複雑な実装もしていません。



「おかしいなぁ。」



そう思って会員規約を削除するとエラーが出ない。


面倒ですが、会員規約を順番に削除し判明したのが、


「マ」「急」の2文字を使っているとエラーが出るのです。



ぐぐってみると、


http://homepage1.nifty.com/ogasa/txt2mac.htm


にある使ってはいけない文字に該当していたようです。



Smartyのデリミタはデフォルトの { } にしていたのですが、


どうやら禁止されている文字は


文字コードの関係上、ブラウザに { } と解釈されて


エラーが発生していたようです。


(文字コードとか、あまりよくわかっていません汗)



なぜEC-CUBEのSmartyのデリミタがHTMLコメントと同様の <!-- --> なのかを


理解した瞬間でした。


結局デリミタを <!-- --> に変えて修正完了です。

最近EC-CUBEでコーディングばかりやっているので、


エントリーがコーディング続きです。



IEでたまにlist-style-imageを指定しても表示されない


場合がありました。


FireFoxでは正常に表示されるに。



今までは調べるのが面倒だったので、


imgタグとかで対処していましたが、


cssではbackground-imageを利用して


皆さん対処しているようです。



ちなみにこの現象はfloatなどをリストに対して使用


している場合に発生するようです。


現在制作中のサイトで、


javascriptを実装する必要がでてきました。



document.body.clientWidthを使って画面の横幅を


取得する必要があったのですが、


Resizeイベント時にalertを使って表示してみても


常に同じ880px。



なんでー!?と思ってあきらめかけていた時、


CSSのbodyのwidthを100%にしたら


ちゃんとresizeした時の横幅を取得できました。




ま、結局使わなかったのですがw