Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第7回 Magento Cafe Plus

1,073 views

Published on

第7回 Magento Cafe Plusで使用した資料です。

・Magentoのデータインポート・エクスポート
・OroCRMとMagentoを連携する

をテーマとして行いました。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第7回 Magento Cafe Plus

  1. 1. Veriteworks Inc. 西 宏和 Magento Cafe Plus #7
  2. 2. Agenda • 最近のMagento • データインポート・エクスポート • OroCRMをMagentoと連携する
  3. 3. 最近のMagento
  4. 4. 本家フォーラムリニューアル 過去記事全部消えたらしいです
  5. 5. Magento2 0.74.0-beta4
  6. 6. OroCommerce
  7. 7. Imagine Conference
  8. 8. Meet Magento 2015 Japan • 11月20日、ベルサール新宿グランドに決定 • スポンサー・登壇者募集中 • もちろんイベントにご協力いただける方も募集中(報酬ないですが)
  9. 9. データインポート・エクスポート
  10. 10. Magentoにおけるデータインポート・エクスポート データフロー インポート・エクスポート API Magmi 対象 商品 顧客 商品 商品画像 顧客 商品 カテゴリ 顧客 注文 商品 カテゴリ 商品画像 GUIカスタマイズ 可 不可 不可
 (そもそもGUIなし) ? 速度 遅い 普通 遅い 速い 外部システム連携 △ ☓ ⃝ △ インポート方法 ローカル FTP ブラウザ経由 なんでもあり ブラウザ CLI
  11. 11. CSVフォーマットの違い データフロー インポート・エクスポート 属性の値 ストアビューのラベル オプションのID 列名 属性の名称と同じ 独自形式 商品画像の取り込み 3枚限定 メディアギャラリーも可
 (ただし書き方が・・・) マッピングの調整 可 不可
  12. 12. データフロー • 一番オーソドックスなMagentoのデータ入出力機能 • 顧客・商品の入出力が可能 • CSVとDBのマッピング設定が可能 • 実行時は専用のウインドウが開き、進 を逐次確認可能 • ファイルをブラウザからアップし、取り込み可能
  13. 13. 拡張プロファイル • データフローからUIを削除し、独自のプロファイルXMLを書けるようにした もの • UIがない代わりに自由に定義ができる(=XML知らないと何もできない) • データフローと異なり、ファイルアップ機能がない
  14. 14. インポート・エクスポート • マッピング機能はなし • POSTしたCSVをパースして一気に取り込む
 =非力なサーバーだと途中で力尽きる • 属性の値はすべてID指定なのでCSV作成が大変 • フォーマットが若干変態だが、メディアギャラリーのインポートが可能
  15. 15. API(SOAP/XMLRPC/REST) • http://www.magentocommerce.com/api/soap/introduction.html
 を参照 • Magento側を拡張すれば自作も可能 • 標準でそこそこできる
  16. 16. よくハマるポイント
  17. 17. CSVあるある • Excelで開くと文字化け
  → UTF-8専用です • SJISに変換してExcelで編集して保存するとエラー
  → 全フィールド引用符必須 • フィールド内の改行が・・・
  → CSV全体の改行コードをLFにし、フィールドをCRにするなど工夫が 必要(つまりめんどくさい) • サイズが大きすぎて処理しきれない・・・
  → 管理しやすい適切なサイズに分けましょう
  18. 18. Macの人涙目 • WindowsにはフリーソフトのCSV専用エディタがある • Macにはまともなツールがない • Excelとか本気であてにならない • PHPStormのCSV編集機能は使えない(引用符勝手に取る)
  19. 19. データフローの列順 • デフォルトの列定義の場合はエクスポートした時の列順を死守 • マッピングする際は1列目からきちんとマッピングする
  20. 20. インポートの属性IDなど • 属性のIDは属性管理画面のURLなどから頑張って集める • オプションのIDはフォームから1個ずつ・・・またはDB見る
 (要は非常に面倒くさい) • メディアギャラリーを取り込む場合は、メインの商品データを書いた行の直 後に、ギャラリーのデータだけ書いた行を並べる
  21. 21. 拡張プロファイルで 独自インポート・エクスポートを作る
  22. 22. 必要なもの • 取り込みたいCSVファイル • Mage_Eav_Model_Convert_Adapter_Entityを継承したクラス • 拡張プロファイルのXML定義
  23. 23. 例:カテゴリのインポート
  24. 24. 必要なもの • インポート・エクスポート処理を行う実体のクラス • プロファイルXML
  25. 25. プロファイル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>
  26. 26. クラスの実装はソースを見なが ら・・・
  27. 27. OroCRMとMagentoを連携する
  28. 28. OroCRMとMagentoの関係 顧客・注文・Wishlistデータの同期 注文データ作成 カスタムレポートで 色々分析 trackingタグの提供 問い合わせフォームの提供
  29. 29. Magentoの弱いところ • 使えそうで使えないレポート機能 • 取ってるようであまりにも使えないログ記録機能 • 問い合わせフォームはDBに残らない
  30. 30. OroCRMで顧客と注文データを 取り出す
  31. 31. まずはOroCRM BridgeをMagentoに入れる
  32. 32. Magento側でAPIユーザーを作っておく
  33. 33. OroCRM側で連携を設定する
  34. 34. 同期を実行してじっと待つ・・・
  35. 35. OroCRMのレポート機能で分析
  36. 36. セールスレポートでレポートを定義する
  37. 37. オリジナルのレポートデータができる
  38. 38. 続きはExcelで!
  39. 39. OroCRMからMagentoの注文 を作成
  40. 40. 顧客管理画面のボタンを押す
  41. 41. 注文作成画面が出る
  42. 42. 注文を作ってみる
  43. 43. Magento上にデータができる
  44. 44. Magentoに問い合わせフォーム を埋めてみる
  45. 45. まずはこいつをOroCRMに入れる
  46. 46. OroCRM上でフォームを作る
  47. 47. フォームが出来る
  48. 48. JSのコードをMagentoのページに貼り付ける
  49. 49. 問い合わせフォームが出る
  50. 50. 送信してみる
  51. 51. OroCRMにデータができる
  52. 52. おわり

×