More Related Content
More from Kentaro Ohkouchi
More from Kentaro Ohkouchi (16)
名古屋EC-CUBE勉強会 2012/11/04
- 1. 挑戦!名入れカスタマイズ
EC-CUBE 名古屋勉強会
2012年11月4日
株式会社インフォアップコンサルティング
@nanasess
- 3. 自己紹介
• 名前: 大河内健太郎(@nanasess) 年齢: 35才
• 出身: 愛知県西尾市一色町
• 在住: 宝塚市
• 前職: 寿司屋の板前(安城市の「ひで寿司」)
• 調理師・ふぐ処理師
• Mac OS X / Windows Azure / FreeBSD 使ってます
• EC-CUBE コミッター・公式エバンジェリスト
• 最近はコミット少ないけど EC-CUBE の影の番人
• 特技: 野鳥の識別
- 4. 自己紹介
• 名前: 大河内健太郎(@nanasess) 年齢: 35才
• 出身: 愛知県西尾市一色町
• 在住: 宝塚市
• 前職: 寿司屋の板前(安城市の「ひで寿司」)
• 調理師・ふぐ処理師
• Mac OS X / Windows Azure / FreeBSD 使ってます
• EC-CUBE コミッター・公式エバンジェリスト
• 最近はコミット少ないけど EC-CUBE の影の番人
• 特技: 野鳥の識別
- 5. カスタマイズ時の疑問
n こんなことをしたいんだけど, 具体的にどうや
るの?
n 効率良くカスタマイズするには?
n EC-CUBE のエキスパートはどうやってるの?
- 7. 要望のヒアリング
n 「名入れ」の受注をしたい
n 受注するときに入力していただいた内容を管理画面で
確認したい
n 商品ごとに名入れの有無, オプション料金を設定したい
n できるだけコストを抑え, すぐに始めたい
n とりあえずはPCのみ
- 8. 要件定義
n 管理画面で設定した商品のみ適用可能なこと
n 名入れのオプション価格が, 商品ごとに設定可能なこと
n 商品詳細にて名入れオプションの表示が可能なこと
n 注文する商品ごとに名入れの内容を設定可能なこと
n 受注内容確認画面, 管理画面にて名入れの内容を確認可
能なこと
- 9. 要件定義2
n EC-CUBE 2.12.2 が対象
n PostgreSQL / MySQL で動作するように
n 短納期, 低予算!
n プラグインは使用しない
n PC のみ(ガラケー, スマホは後日対応)
- 10. 僕の開発環境
n MacBook Late2009 Mac OS X 10.8
n Core2Duo 2.26GHz メモリ8GB, SSD に換装
n さすがに Retina MacBook Pro 13inch には負けるけど, これで十分
n Apache 2.2.22 / PHP5.3.17 / PostgreSQL 8.4.14
n MacPorts で構築
n Safari6 / Emacs / コマンドラインで開発
n Safari の開発モードはiPhone実機でデバックもできるスグレモノ
n phpMyAdmin とかほとんど使ったことないんです...
- 11. 設計のポイント
n 短納期/低予算/初心者向けなのでカスタマイズ
箇所は最小限に
n 後から見てもわかりやすいように
n ガラケー, スマホの実装もテンプレートの変更
のみでできるように
- 12. 実装内容
n dtb_products に putting_name_flg と putting_name_price を追加
n dtb_order に putting_name_options カラムを追加
n 管理画面に名入れ価格と名入れオプションのラジオボタンを追加
n 商品詳細に名入れオプションのメッセージを追加
n お支払い方法選択ページに名入れの備考覧を追加
n 受注確認画面に名入れの備考覧表示を追加
n 管理画面に名入れ内容の備考覧を追加
- 14. データベース変更
// dtb_products に 名入れフラグ(putting_name_flg)を追加
ALTER TABLE dtb_products ADD COLUMN putting_name_flg smallint NOT NULL
DEFAULT 0;
// dtb_products に名入れ価格(putting_name_price)を追加
ALTER TABLE dtb_products ADD COLUMN putting_name_price numeric NOT NULL
DEFAULT 0;
// dtb_order_temp に名入れオプション(putting_name_options)を追加
ALTER TABLE dtb_order_temp ADD COLUMN putting_names_options TEXT;
// dtb_order に名入れオプションを追加
ALTER TABLE dtb_order ADD COLUMN putting_names_options TEXT;
- 15. 商品管理画面
n 名入れ対応商品の登録
n 名入れオプション選択と価格入力
n 商品テーブルにカラムを追加した場合の変更点
に注目
- 16. 商品詳細画面
n 名入れオプションの表示
n デザイン変更などもしやすいように
n 商品一覧にも流用しやすいように
- 17. カート画面
n 名入れ対応商品がカートに含まれるか?
n 価格の加算
n 共通処理は SC_CartSession で
- 18. 購入フロー
n 名入れ対応商品ごとに入力していただく
n 名入れ入力フォームを追加, 料金の計算
n フリーワードで入力していただく簡易的な仕様
- 19. 受注管理画面
n 名入れオプション項目の追加
n 受注明細には名入れの情報を持ってないため省
略
n 本当は文字数チェックもしたい
- 20. テストのコツ
n 要件定義の内容が満たされているか?
n パターンを表にするとわかりやすい
n 設計時に作っておく
n スマホ対応時, Android は要注意!
- 21. まとめ
n これくらいのカスタマイズができれば, あとは応用次第
n PHP プログラムとテンプレートのどこを編集するか確
認
n 各ページの処理・共通処理
n もっと利便性の高いカスタマイズに挑戦!
n 確認しながら少しずつやってみるのがコツ
Editor's Notes
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n