photo credit: Caden Crawford via photopin cc
こんにちは、えんぞーです。
今回はオープンソースのカートプログラムである「EC-CUBE」について少し書こうと思います。
仕事の関係でEC-CUBEのテンプレートを作成する事になったので色々と試行錯誤しながら作っていたわけですが、作成後配布する段階になった際に困った事に気づきました。
テンプレートファイル構造がよく分からない
普段から作っている人からすれば「おいおい、そんなの調べりゃすぐ出てくるだろう?」って事なのかも知れませんが調べ方が悪いのか軽くハマりました。
EC-CUBEのテンプレートは大きく分けて二カ所にファイルが分散する形になっています。
つまり、「/data/Smarty/templates」に置かれる部分と「/html/user_data/packages」に置かれる部分です。
これはテンプレートエンジン(Smarty)部分とCSS等のhtml側で読み込むためのファイルを別々にしているからで、よく目にするEC-CUBEのテンプレートのカスタマイズ法というのはこの部分を弄ってねっていう話で終わっています。
しかし、私が知りたかったのはテンプレートをインストールさせた時にそのように配置してくれるにはどうすれば良いのかという事でした。
必要なフォルダをそのままtarで固めてインストールしてみてもCSSファイル等はそのままSmartyフォルダに入る事になってデザイン部分が反映されません。
まさかCSSファイル等はFTPで規定の場所にアップして下さいなんて事はないよな・・・とか考える訳です。
結果、単純な事だったことが判明
「よく調べろよ、書いてあるだろ?」って言われても尤もな話なのですが、結局無料テンプレートをダウンロードしてテンプレート構造を理解しました。
CSSやらJSやらの表示部分でしようするファイルは
「_packages」フォルダに入れて固める。
と言うのが正解でした。
このような状態でtarで圧縮したものであればEC-CUBEの管理画面上でテンプレートをインストールした場合にそれぞれのフォルダに自動的に配置されます。
結果だけ見ればそうだね、そうだよね・・・っていう話なんですが切羽詰まってるとなかなかこういう情報も見つけられなくなりますね・・・。
なんにせよ、これでテンプレートファイル一つだけ作れば他のカートにも管理画面からのインストール作業のみでテンプレートを反映させる事が出来ます。
とりとめのないまとめ
最近EC-CUBEを使用する人が周りに増えてきたのでもう少ししっかりEC-CUBEにも触れておかないとなと思った次第でした。
なかなか必要に迫らないとカートプログラムを弄ってみようとか思わないので良い機会でしたけど、前に触った頃に比べると機能的にも見た目的にも色々変わっていて新鮮です。
これが無料で使えるって言うのは・・・すごい時代だとつくづく思います。