SlideShare a Scribd company logo
カスタマイズ・プラグイン
ライブコーディング
2017年10月 開発進捗説明会
アジェンダ
• カスタマイズ例仕様
• 本体コードを変更しないカスタマイズ
• プラグイン
商品レビュー(簡易版)
これまでの
商品レビュー
プラグイン
商品レビュー管理プラグイン
• Controller/ProductReviewController.php
• Entity/ProductReview.php
• Form/Type/ProductReviewType.php
• Repository/ProductReviewRepository.php
• Resource/
• ProductReview.dcm.yml
• template/*.twig
• ServiceProvider/ProductReviewServiceProvider.php
• Event/ProductReviewEvent.php
• Event.php
• PluginManager.php
• config.yml / event.yml
商品レビュー管理プラグイン
• Controller/ProductReviewController.php
• Entity/ProductReview.php
• Form/Type/ProductReviewType.php
• Repository/ProductReviewRepository.php
• Resource/
• ProductReview.dcm.yml
• template/*.twig
• ServiceProvider/ProductReviewServiceProvider.php
• Event/ProductReviewEvent.php
• Event.php
• PluginManager.php
• config.yml / event.yml
カスタマイズ
編
カスタマイズディレクトリ
※ 「Acme」はconfigのvendor_nameで変更可能
Entityの作成
• Entity/ProductReview.php
• Doctrineアノテーション #2127
• dcm.ymlの記述は不要
Repositoryの作成
• Repository/ProductReviewRepository.php
• @Repositoryアノテーション #2457
• ServiceProviderへの記述は不要
Traitの作成
• Entity/ProductReviewTrait.php
• src/Eccube/Entity/Product.phpを編集せずに拡張
• エンティティ拡張機構 #2267
• Proxyの生成
• php app/console generate-proxies
• Productに関連を追加できるのでフックポイントを利
用せず画面に商品レビューを表示できるようになる
Controllerの作成
• ProductReviewController
• @Route/@Template #2127
• ServiceProviderでのルーティング設定不要
• @Injectによる依存注入 #2460
• ProductReviewType
• @FormType #2460
• ServiceProviderの記述不要
プラグイン
編
プラグイン化
• ディレクトリ/名前空間変更
• config.yml追加
• テンプレートパス変更
• ブロック追加
ディレクトリ/名前空間変更
Acme -> Plugin¥ProductReview
config.yml追加
name: 商品レビュー(簡易版)
code: ProductReview
version: 1.0.0
• orm.path/serviceの記述は不要
• フックポイントを使わないのでeventも不要
• review_block.php
• Twig ユーザー定義関数 #2263
• フックポイントでTwigに介入せずにTwigファイルに
ブロックを出力する
ブロック追加
その他
• PluginManagerによるマイグレーション実行は不要
• マイグレーション処理はDoctrineのメタデータから必要に応じてプ
ラグインインストール/削除時に行われます

More Related Content

PDF
View customize1.2.0の紹介
PDF
Angular#Kanazawa
PPTX
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
PPTX
201710_EC-CUBE 開発進捗説明会:管理画面UI改善
PPTX
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
PPTX
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
PPTX
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
PPTX
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
View customize1.2.0の紹介
Angular#Kanazawa
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
201710_EC-CUBE 開発進捗説明会:管理画面UI改善
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ

Similar to 201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン (6)

PDF
202101 EC-CUBE 4.1 開発進捗説明会
PPTX
EC-CUBE3プラグイン仕様
PPTX
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
PPTX
EC-CUBEプラグイン制作のポイント
PDF
Ec cube開発合宿 プラグインセミナー
KEY
【初心者向け】EC-CUBE プラグイン作成 ハンズオンセミナー @ 名古屋
202101 EC-CUBE 4.1 開発進捗説明会
EC-CUBE3プラグイン仕様
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
EC-CUBEプラグイン制作のポイント
Ec cube開発合宿 プラグインセミナー
【初心者向け】EC-CUBE プラグイン作成 ハンズオンセミナー @ 名古屋
Ad

More from EC-CUBE (12)

PDF
2020_EC-CUBEパートナー新年会発表資料
PDF
201809_EC-CUBE4.0概要説明
PDF
201803_EC-CUBE開発進捗説明会_6_多言語化
PDF
201803_EC-CUBE開発進捗説明会_5_管理画面UI改善
PDF
201803_EC-CUBE開発進捗説明会_4_カスタマイズデモ
PDF
201803_EC-CUBE開発進捗説明会_3_カスタマイズ
PDF
201803_EC-CUBE開発進捗説明会_1_3.n概要説明
PDF
201803_EC-CUBE開発進捗説明会_2_フレームワーク変更
PPTX
20171117 最新機能紹介
PDF
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
PPTX
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
PDF
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2020_EC-CUBEパートナー新年会発表資料
201809_EC-CUBE4.0概要説明
201803_EC-CUBE開発進捗説明会_6_多言語化
201803_EC-CUBE開発進捗説明会_5_管理画面UI改善
201803_EC-CUBE開発進捗説明会_4_カスタマイズデモ
201803_EC-CUBE開発進捗説明会_3_カスタマイズ
201803_EC-CUBE開発進捗説明会_1_3.n概要説明
201803_EC-CUBE開発進捗説明会_2_フレームワーク変更
20171117 最新機能紹介
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
Ad

201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン