Smartyのtplファイルを更新する時はtemplates_cフォルダのパーミッションに注意

スポンサーリンク

お仕事でEC-CUBEで作られたサイトを改修することがあります。

知っている人からすれば当たり前なのかもしれませんが、ハマったことがあるのでメモ。

smarties
smarties “limited edition” pink / osde8info

Smartyのtplファイル更新時の注意点

今回修正することになったのは、Smartyで作られた拡張子がtplのファイル。

HTML部分の表示を変えただけなのに、テスト環境に反映してみると「システムエラー」の表示が・・・。訳がわからないので、更新前の状態に戻してみました。

それでも「システムエラー」・・・。

これはマズいと思い「システムエラー」の文字からソースを検索して、デバッグしてみました。

すると、tplファイルを新しくすると自動的にコンパイルされて、templates_cフォルダにファイルが作られるんですね。知りませんでした。

自動的にファイルが生成されるということなので、それぞれのフォルダに書き込み権限がないといけません。

という訳で、コンパイルされるファイルが格納されるフォルダのパーミッションを777に変更してみました。すると、恐ろしいメッセージの「システムエラー」は出なくなり、ちゃんと思ったとおりの動きをするようになりました。

ファイルのパーミッション

Smartyでは「templates」フォルダに対応した「templates_c」フォルダがないといけない仕組みのようです。また1つ勉強になりました。

templates