EC-CUBE:コンパイルされたテンプレートキャッシュをクリアする
EC-CUBEでプラグイン開発等のテストを行なっている場合、ソースコードの変更が反映されない場合がありますが、これはEC-CUBE内のコンパイル済みテンプレートキャッシュが再利用されていることによるものです。
EC-CUBEのバージョン2.12.2を元にした記事です。
これをリセットするには、SC_Utils_Exクラスの「clearCompliedTemplate」関数を使います。
「clearCompliedTemplate」は正しくは「Compiled」で、おそらくこれは開発側のスペルミスですね…(^-^;; 将来的に修正される可能性があるので、この関数を使用する箇所は統一したクラス内で行う等して局所管理しておいたほうが良さそうです。
//コンパイルされたファイルを削除 SC_Utils_Ex::clearCompliedTemplate();
この関数の中身ですが、設定されたテーマディレクトリやadminディレクトリ等のSmartyのコンパイルディレクトリ(templates_c)の中のファイルを削除することで実現されています。
SC_Helper_FileManager_Ex::deleteFile(COMPILE_REALDIR, false); SC_Helper_FileManager_Ex::deleteFile(COMPILE_ADMIN_REALDIR, false); SC_Helper_FileManager_Ex::deleteFile(SMARTPHONE_COMPILE_REALDIR, false); SC_Helper_FileManager_Ex::deleteFile(MOBILE_COMPILE_REALDIR, false);
EC-CUBEプラグインを開発している場合、この関数をregister関数の中で呼び出すとうまく消えてくれますよ。
注:ただし、プラグインを無効にし、再度有効にしたときにregister()が呼ばれて「[/admin/ownersstore/index.php] Fatal error(E_ERROR): Class ‘SC_Helper_FileManager_Ex’ not found on […/data/class/util/SC_Utils.php」というエラーが出てしまうので注意。
プラグインを再インストールするときにもこのエラーで失敗してしまいます。
function register(SC_Helper_Plugin $objHelperPlugin,$priority) { ... SC_Utils_Ex::clearCompliedTemplate(); }
もちろん、テストが終了したら削除しておくこともお忘れなく。
Fairythm
¥1,120 (2025-04-25 17:16 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)Not Found10 -ネットから削除された禁断動画-
(2025-04-23 07:48 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)Not Found 47 -ネットから削除された禁断動画-
¥400 (2025-04-25 17:16 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)2013-02-12