第7回 magento cafe plus

52
Veriteworks Inc. 西 宏和 Magento Cafe Plus #7

Upload: hirokazu-nishi

Post on 24-Jul-2015

322 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 第7回 Magento Cafe Plus

Veriteworks Inc. 西 宏和

Magento Cafe Plus #7

Page 2: 第7回 Magento Cafe Plus

Agenda

• 最近のMagento

• データインポート・エクスポート

• OroCRMをMagentoと連携する

Page 3: 第7回 Magento Cafe Plus

最近のMagento

Page 4: 第7回 Magento Cafe Plus

本家フォーラムリニューアル

過去記事全部消えたらしいです

Page 5: 第7回 Magento Cafe Plus

Magento2 0.74.0-beta4

Page 6: 第7回 Magento Cafe Plus

OroCommerce

Page 7: 第7回 Magento Cafe Plus

Imagine Conference

Page 8: 第7回 Magento Cafe Plus

Meet Magento 2015 Japan

• 11月20日、ベルサール新宿グランドに決定

• スポンサー・登壇者募集中

• もちろんイベントにご協力いただける方も募集中(報酬ないですが)

Page 9: 第7回 Magento Cafe Plus

データインポート・エクスポート

Page 10: 第7回 Magento Cafe Plus

Magentoにおけるデータインポート・エクスポート

データフロー インポート・エクスポート API Magmi

対象 商品 顧客

商品 商品画像 顧客

商品 カテゴリ 顧客 注文

商品 カテゴリ 商品画像

GUIカスタマイズ 可 不可 不可(そもそもGUIなし) ?

速度 遅い 普通 遅い 速い

外部システム連携 △ ☓ ◯ △

インポート方法 ローカル FTP ブラウザ経由 なんでもあり ブラウザ

CLI

Page 11: 第7回 Magento Cafe Plus

CSVフォーマットの違い

データフロー インポート・エクスポート

属性の値 ストアビューのラベル オプションのID

列名 属性の名称と同じ 独自形式

商品画像の取り込み 3枚限定 メディアギャラリーも可(ただし書き方が・・・)

マッピングの調整 可 不可

Page 12: 第7回 Magento Cafe Plus

データフロー

• 一番オーソドックスなMagentoのデータ入出力機能

• 顧客・商品の入出力が可能

• CSVとDBのマッピング設定が可能

• 実行時は専用のウインドウが開き、進捗を逐次確認可能

• ファイルをブラウザからアップし、取り込み可能

Page 13: 第7回 Magento Cafe Plus

拡張プロファイル

• データフローからUIを削除し、独自のプロファイルXMLを書けるようにしたもの

• UIがない代わりに自由に定義ができる(=XML知らないと何もできない)

• データフローと異なり、ファイルアップ機能がない

Page 14: 第7回 Magento Cafe Plus

インポート・エクスポート

• マッピング機能はなし

• POSTしたCSVをパースして一気に取り込む=非力なサーバーだと途中で力尽きる

• 属性の値はすべてID指定なのでCSV作成が大変

• フォーマットが若干変態だが、メディアギャラリーのインポートが可能

Page 15: 第7回 Magento Cafe Plus

API(SOAP/XMLRPC/REST)

• http://www.magentocommerce.com/api/soap/introduction.html を参照

• Magento側を拡張すれば自作も可能

• 標準でそこそこできる

Page 16: 第7回 Magento Cafe Plus

よくハマるポイント

Page 17: 第7回 Magento Cafe Plus

CSVあるある

• Excelで開くと文字化け → UTF-8専用です

• SJISに変換してExcelで編集して保存するとエラー  → 全フィールド引用符必須

• フィールド内の改行が・・・ → CSV全体の改行コードをLFにし、フィールドをCRにするなど工夫が必要(つまりめんどくさい)

• サイズが大きすぎて処理しきれない・・・ → 管理しやすい適切なサイズに分けましょう

Page 18: 第7回 Magento Cafe Plus

Macの人涙目

• WindowsにはフリーソフトのCSV専用エディタがある

• Macにはまともなツールがない

• Excelとか本気であてにならない

• PHPStormのCSV編集機能は使えない(引用符勝手に取る)

Page 19: 第7回 Magento Cafe Plus

データフローの列順

• デフォルトの列定義の場合はエクスポートした時の列順を死守

• マッピングする際は1列目からきちんとマッピングする

Page 20: 第7回 Magento Cafe Plus

インポートの属性IDなど

• 属性のIDは属性管理画面のURLなどから頑張って集める

• オプションのIDはフォームから1個ずつ・・・またはDB見る(要は非常に面倒くさい)

• メディアギャラリーを取り込む場合は、メインの商品データを書いた行の直後に、ギャラリーのデータだけ書いた行を並べる

Page 21: 第7回 Magento Cafe Plus

拡張プロファイルで 独自インポート・エクスポートを作る

Page 22: 第7回 Magento Cafe Plus

必要なもの

• 取り込みたいCSVファイル

• Mage_Eav_Model_Convert_Adapter_Entityを継承したクラス

• 拡張プロファイルのXML定義

Page 23: 第7回 Magento Cafe Plus

例:カテゴリのインポート

Page 24: 第7回 Magento Cafe Plus

必要なもの

• インポート・エクスポート処理を行う実体のクラス

• プロファイルXML

Page 25: 第7回 Magento Cafe Plus

プロファイルXMLの例<action type="dataflow/convert_adapter_io" method="load"> <var name="type">file</var> <var name="path">var/import</var> <var name="filename"><![CDATA[Categories.csv]]></var> <var name="format"><![CDATA[csv]]></var> </action> <action type="dataflow/convert_parser_csv" method="parse"> <var name="delimiter"><![CDATA[,]]></var> <var name="enclose"><![CDATA["]]></var> <var name="fieldnames">true</var> <var name="store"><![CDATA[0]]></var> <var name="number_of_records">1</var> <var name="decimal_separator"><![CDATA[.]]></var> <var name="adapter">catalog/convert_adapter_category</var> <var name="method">parse</var> </action>

Page 26: 第7回 Magento Cafe Plus

クラスの実装はソースを見ながら・・・

Page 27: 第7回 Magento Cafe Plus

OroCRMとMagentoを連携する

Page 28: 第7回 Magento Cafe Plus

OroCRMとMagentoの関係

顧客・注文・Wishlistデータの同期

注文データ作成カスタムレポートで

色々分析trackingタグの提供

問い合わせフォームの提供

Page 29: 第7回 Magento Cafe Plus

Magentoの弱いところ

• 使えそうで使えないレポート機能

• 取ってるようであまりにも使えないログ記録機能

• 問い合わせフォームはDBに残らない

Page 30: 第7回 Magento Cafe Plus

OroCRMで顧客と注文データを取り出す

Page 31: 第7回 Magento Cafe Plus

まずはOroCRM BridgeをMagentoに入れる

Page 32: 第7回 Magento Cafe Plus

Magento側でAPIユーザーを作っておく

Page 33: 第7回 Magento Cafe Plus

OroCRM側で連携を設定する

Page 34: 第7回 Magento Cafe Plus

同期を実行してじっと待つ・・・

Page 35: 第7回 Magento Cafe Plus

OroCRMのレポート機能で分析

Page 36: 第7回 Magento Cafe Plus

セールスレポートでレポートを定義する

Page 37: 第7回 Magento Cafe Plus

オリジナルのレポートデータができる

Page 38: 第7回 Magento Cafe Plus

続きはExcelで!

Page 39: 第7回 Magento Cafe Plus

OroCRMからMagentoの注文を作成

Page 40: 第7回 Magento Cafe Plus

顧客管理画面のボタンを押す

Page 41: 第7回 Magento Cafe Plus

注文作成画面が出る

Page 42: 第7回 Magento Cafe Plus

注文を作ってみる

Page 43: 第7回 Magento Cafe Plus

Magento上にデータができる

Page 44: 第7回 Magento Cafe Plus

Magentoに問い合わせフォームを埋めてみる

Page 45: 第7回 Magento Cafe Plus

まずはこいつをOroCRMに入れる

Page 46: 第7回 Magento Cafe Plus

OroCRM上でフォームを作る

Page 47: 第7回 Magento Cafe Plus

フォームが出来る

Page 48: 第7回 Magento Cafe Plus

JSのコードをMagentoのページに貼り付ける

Page 49: 第7回 Magento Cafe Plus

問い合わせフォームが出る

Page 50: 第7回 Magento Cafe Plus

送信してみる

Page 51: 第7回 Magento Cafe Plus

OroCRMにデータができる

Page 52: 第7回 Magento Cafe Plus

おわり