EC-CUBEデザインカスタマイズの
ベストプラクティス!
EC-CUBE名古屋ユーザーグループ Vol.58
大河内健太郎
自己紹介
名前: 大河内健太郎(@nanasess) 年齢: 41才
出身: 愛知県西尾市一色町
在住: 宝塚市
前職:寿司屋の板前
資格: 調理師・ふぐ処理師
EC-CUBE コミッター・公式エバンジェリスト
最近のマイブーム: 輪廻転生
Agenda
作業効率向上の考え方
効率のよいフォルダ構成
プラグインを使う場合の注意点
作業効率向上の考え方
いつでも過去に戻れるようにする。
過去と現在を簡単に比較できる。
把握しやすい。他の担当者に引継ぎしやすい。
–Hadley Wickham
Gitを使わないソフトウェア開発は
"Coding without commits is like free-climbing”
フリークライミングのようなものだ
いつでも過去に戻れるように
(できることなら) Git を使う
どんな間違った変更をしても、すぐ戻れる
過って削除しても、すぐ戻れる
どんな編集をしたか比較できる
でも Git は難しいよね
Git をちゃんと使えなくても、
これだけはやっておきたい
1. git init .
2. .gitignore を作成(後述)
3. git add .
4. git commit -m ‘init commit’
最低限、これだけやっておけば、git diff と叩くだけで、過去に何を編
集したか比較できるようになる。
.gitignore
このファイルを EC-CUBE をインストールしたフォルダに入れ
る
EC-CUBE 3系
https://github.com/EC-CUBE/ec-cube/blob/master/.gitignore
EC-CUBE 2系
https://github.com/EC-CUBE/eccube-
2_13/blob/master/.gitignore
デザイン管理画面の罠
EC-CUBE の管理画面から、デザイン変更できて便利だよ
ね
反面、デメリットも
保存したら過去に戻れない。もちろん比較もできない
編集機能が貧弱。検索もできない
構文ミスってるとシステムエラー
レイアウト編集機能の使いどころ
一度設定したら、レイアウト自体を変更することは少ない
はず
レイアウトは変えない前提。レイアウト編集の柔軟性を考
慮したデザインは樕の道
バナーの入れ替え等に特化した使い方をしよう
デザイン管理画面は使わない!
CMS 的な機能が欲しければ、
WordPress などを使おう!
餅は餅屋。連携のためのヒント
https://qiita.com/nanasess/items/63717ff0d6e9518a124f
じゃあ、どうやってサーバー上
のファイルを変更するの?
ファイルアクセスの方法
scp または sftp でファイル転送(おすすめ)
FTP または FTPS でファイル転送
vim でサーバー上のファイルを編集(初心者はおすすめしない
)
Git で取得(初心者はおすすめしない)
その他デプロイツール(初心者はおすすめしない)
デザイン管理を使わないメリット
使い慣れたエディタを使える
エディタのアン・ドゥー機能で戻れる
文字列検索できる
どのファイルを編集するの?
基本は default テンプレート(重要)
新たに独自のテンプレートは作らない(テンプレートを購入した場合は例外)
新たに作ると、 Git を使った過去との比較がしにくくなる
脆弱性対応で更新されるのは default テンプレート
特に3系は、デザイン管理で編集すると app/template 以下に編集後のファイ
ルができるので要注意。更新されたファイルがどこにあるのか行方不明にな
りやすく、引継ぎや作業効率の低下につながる
で、どのファイル編集したらいい
の?
3系
src/Eccube/Resource/template/default
2系
data/Smarty/templates/default
「コアファイル触るな」なんて人の話は聞かなくていい。
Git 使っていれば躊躇なく触ってOK
(余談)PHPプログラムのカスタマイズ
する場合も
3系はプラグインでカスタマイズしようって話がよくあがる
けど、そんな話は聞かなくていい。メンテや引継ぎが辛く
なるだけ。プラグインカスタマイズで睡眠時間は増えない
。
バージョンアップなら Git でしよう
https://qiita.com/nanasess/items/fe2a93ff64833d87eb19
同じ理由で2系の extends も使わなくていい。
プラグインの注意点
プラグインの入れすぎ注意(競合して動かなくなる)
必要最小限。必ずテストしてから本番投入。
HTML の構造や CSS の id は極力変更しない(動かなくなる
)
デザインはもちろん合わなくなる場合が多いので、プラグ
イン自体の修正が必要
頑張ってプラグインでカスタマイズしても、
結局プラグインをカスタマイズしないと動かないんで
す。
「プラグインを使えばバージョンアップが楽になる」
ことは少ないです。
Git を使えば楽になります。
まとめ
できることなら Git を使おう。使いこなす必要はありません
。バージョン管理は安心と睡眠時間を提供します。
デザイン管理画面は無理して使わなくていい
カスタマイズするのは default テンプレート
ご静聴ありがとうございました
!

EC-CUBEデザインカスタマイズの ベストプラクティス!