SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Veriteworks Inc. 西 宏和
Magento Cafe Plus #8
Agenda
• 最近のMagento & Imagine Conference
• Magento2 エクステンションの作り方(その1)
• Magento1 ウィジェットの作り方
最近のMagento
Imagine Conference
Magento2
• やはりリリーススケジュールは変更なし(2015 4Q予定)
• 開発者向けBetaがほぼ毎週リリース
• ドキュメントやサンプルも鋭意更新中
Meet Magento 2015 Japan
• チケット販売開始(6末まではなんと6,000円!)
• Magento Inc.とOro Inc.から来日予定
• Meet Magento Associationほかからも来日予定
Magento1.x
• CE 1.9.1.1リリース(SUPEE-5344対応)
• CE 1.9.2.0近日リリース予定
Magento2 エクステンションの
作り方(その1)
大前提としての知識
要求システム構成の違い
Magento1.x Magento2
Webサーバー
Apache 2.2 / 2.4
Nginx
IIS
Apache 2.2 / 2.4
Nginx
PHP 5.3.11以上
5.5.x / 5.6.x

HHVM 3.6.x
MySQL 5.1以上 5.6.x
その他 php intl, PHPUnit 4.1.x, composer
Magento1とMagento2のディレクトリ構成の違い
• Magento1(M1)とMagento2(M2)ではディレクトリ構成が異なる
• エクステンションを構成するディレクトリ構成も異なる
M1のディレクトリ構成
app code core コアコード
community コミュニティコード
local ローカルコード
design frontend 公開側テンプレート等
adminhtml 管理側テンプレート等
etc 設定ファイル
locale ロケールファイル
lib 共通ライブラリ
js 共通javascriptファイル
skin frontend 公開側スキン
adminhtml 管理側スキン
M2のディレクトリ構成
app code Magento Magentoコアのコード
Foo サードパーティエクステンション
design frontend フロントエンドカスタムテーマ
adminhtml バックエンドカスタムテーマ
etc 設定ファイルなど
i18n ロケール定義
bin magentoコマンド
dev ユーティリティとテスト
lib バンドルライブラリ類
pub 新ドキュメントルート
setup インストーラー
var 一時ファイル置き場
vendor composerライブラリ
M2のエクステンションディレクトリ
1階層目 2階層目 3階層目 4階層目 5階層目
app code Foo Example Api
Block
Controller
etc
Helper
i18n
Model
Observer
Service
Plugin
Pricing
Setup
Test
view
composer.json
M2で廃止になったもの
• コードプール
• Mageオブジェクト
• local.xml
• mageコマンド
• Varienライブラリ一式
M2で新たに増えた要素(一部)
• composer
• Magentoフレームワーク
• PSR
• ネームスペース
• コード自動生成
• 新しいXML定義
• ユニットテスト
コード自動生成
• 各種クラスの定義とコードを自動生成
• 生成したコードはvar/generation以下に配置
• XML定義と連動
新しいXML定義(例)
• di.xml
• crontab.xml
• email_templates.xml
• events.xml
• fieldset.xml
• module.xml
• validation.xml
結論:M2はM1とかなり違う
ただし、M1の知識が役に立た
ないわけではない
M2でも変わらない概念
• レイアウトXML(の存在)
• フォールバック機構
• ロケールCSV
で、本題
何はともあれ、公式サンプルを見る
https://github.com/magento/magento2-samples
M2エクステンションで最低限必要なもの
• composer.json
• etcディレクトリとmodule.xml
ここからはコードを見ながら
Magento1 ウィジェットの作り
方
そもそもウィジェットって・・・
CMSページと静的ブロック上に埋め込むパーツとしてのウィジェット
デザインテーマ上に埋め込むパーツとしてのウィジェット
CMSと静的ブロック上のウィジェット
CMSと静的ブロック上のウィジェット
• あらかじめ定義されたパーツをCMSや静的ブロック上に埋め込む機能
• パーツは独自エクステンションを書くことで新しく追加することが可能
ウィジェットを構成する要素
• app/code/<code pool>/ベンダー名/エクステンション名/etc/widget.xml
• widget.xmlが指定するテンプレート・ブロック等
widget.xml
• ウィジェット選択のウインドウを定義するXML
• widgetをルート要素とするツリーを書く
• Mage/CmsやMage/Catalogにサンプルがあるので参考にすると楽
ウィジェットに使うブロック
• ウィジェットに使うブロックは必ず、Mage_Widget_Block_Interfaceを実
装する
• といっても、必要なメソッドは大抵既に実装されているので、宣言するだけ
でOK
デザインテーマ上のウィジェット
• ある特定のテーマ上に、CMSと同様にパーツを配置する機能
• テーマ依存なので、同じテーマを使うストアビューに等しく適用される
• ウィジェットによって配置できる場所が決まっている
ウィジェットを構成する要素
• エクステンションごとのwidget.xml(CMS用と基本同じ)
• テーマのwidget.xml
テーマのwidget.xml
• 各テーマに1個だけ存在するファイル。
• なければ親テーマ・base/defaultに戻って適用
widget.xmlの役割
• テーマ固有の表示位置(ヘッダ・フッタ・左・右 など)
• テーマ別に利用できるテンプレートの候補
• 要はエクステンション側の定義のオーバーライド
おわり

Contenu connexe

Similaire à 第8回 Magento cafe plus

Bot Builder V4 SDK + QnA Maker / LUIS
Bot Builder V4 SDK  + QnA Maker / LUISBot Builder V4 SDK  + QnA Maker / LUIS
Bot Builder V4 SDK + QnA Maker / LUISYoshitaka Seo
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能TomomitsuKusaba
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2openrtm
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 UpdateTomokazu Kizawa
 
Web os最新動向20130209
Web os最新動向20130209Web os最新動向20130209
Web os最新動向20130209Akira Sasaki
 
加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜Hirokazu Nishi
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎openrtm
 
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Tomokazu Kizawa
 
マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話
マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話
マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話Osamu Monoe
 
.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能TomomitsuKusaba
 
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうHTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうTakao Sumitomo
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートSatoshi Kume
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updateTakako Miyagawa
 
LEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 APILEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 APIAkira Hatsune
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Shota Umeda
 
App Modernization for .NET
App Modernization for .NETApp Modernization for .NET
App Modernization for .NETYuta Matsumura
 

Similaire à 第8回 Magento cafe plus (20)

Bot Builder V4 SDK + QnA Maker / LUIS
Bot Builder V4 SDK  + QnA Maker / LUISBot Builder V4 SDK  + QnA Maker / LUIS
Bot Builder V4 SDK + QnA Maker / LUIS
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update
 
Bot Framework v4 開発 Tips 2018-11
Bot Framework v4  開発 Tips 2018-11Bot Framework v4  開発 Tips 2018-11
Bot Framework v4 開発 Tips 2018-11
 
Web os最新動向20130209
Web os最新動向20130209Web os最新動向20130209
Web os最新動向20130209
 
加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
 
マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話
マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話
マイクロソフトの新しい Web 開発ツールと新しい Web ブラウザー、そして、それらの新しい機能についての話
 
.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能
 
MS系Chatbot触ってみた
MS系Chatbot触ってみたMS系Chatbot触ってみた
MS系Chatbot触ってみた
 
Think.next
Think.nextThink.next
Think.next
 
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうHTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter update
 
LEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 APILEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 API
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
 
App Modernization for .NET
App Modernization for .NETApp Modernization for .NET
App Modernization for .NET
 

Plus de Hirokazu Nishi

Magento Meetup Tokyo 14 〜メンテナンス画面を極める
Magento Meetup Tokyo 14 〜メンテナンス画面を極めるMagento Meetup Tokyo 14 〜メンテナンス画面を極める
Magento Meetup Tokyo 14 〜メンテナンス画面を極めるHirokazu Nishi
 
JP_Stripes Vol3 発表資料
JP_Stripes Vol3 発表資料JP_Stripes Vol3 発表資料
JP_Stripes Vol3 発表資料Hirokazu Nishi
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe MagentoHirokazu Nishi
 
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブルHirokazu Nishi
 
第4回Magento Cafe Plus〜最近のMagento
第4回Magento Cafe Plus〜最近のMagento第4回Magento Cafe Plus〜最近のMagento
第4回Magento Cafe Plus〜最近のMagentoHirokazu Nishi
 
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門Hirokazu Nishi
 
Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方Hirokazu Nishi
 
最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハHirokazu Nishi
 

Plus de Hirokazu Nishi (14)

Magento Meetup Tokyo 14 〜メンテナンス画面を極める
Magento Meetup Tokyo 14 〜メンテナンス画面を極めるMagento Meetup Tokyo 14 〜メンテナンス画面を極める
Magento Meetup Tokyo 14 〜メンテナンス画面を極める
 
JP_Stripes Vol3 発表資料
JP_Stripes Vol3 発表資料JP_Stripes Vol3 発表資料
JP_Stripes Vol3 発表資料
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento
 
Magento cafe plus #12
Magento cafe plus #12Magento cafe plus #12
Magento cafe plus #12
 
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル
 
第4回Magento Cafe Plus〜最近のMagento
第4回Magento Cafe Plus〜最近のMagento第4回Magento Cafe Plus〜最近のMagento
第4回Magento Cafe Plus〜最近のMagento
 
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
 
Akeneo PIM Overview
Akeneo PIM OverviewAkeneo PIM Overview
Akeneo PIM Overview
 
Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方
 
最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ
 
Magento20100807
Magento20100807Magento20100807
Magento20100807
 
Magento20100709
Magento20100709Magento20100709
Magento20100709
 
Magento20100313
Magento20100313Magento20100313
Magento20100313
 
Magento20100226
Magento20100226Magento20100226
Magento20100226
 

第8回 Magento cafe plus