第7回 magento cafe plus

Post on 24-Jul-2015

323 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Veriteworks Inc. 西 宏和

Magento Cafe Plus #7

Agenda

• 最近のMagento

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

• OroCRMをMagentoと連携する

最近のMagento

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

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

Magento2 0.74.0-beta4

OroCommerce

Imagine Conference

Meet Magento 2015 Japan

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

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

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

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

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

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

対象 商品 顧客

商品 商品画像 顧客

商品 カテゴリ 顧客 注文

商品 カテゴリ 商品画像

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

速度 遅い 普通 遅い 速い

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

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

CLI

CSVフォーマットの違い

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

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

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

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

マッピングの調整 可 不可

データフロー

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

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

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

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

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

拡張プロファイル

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

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

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

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

• マッピング機能はなし

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

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

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

API(SOAP/XMLRPC/REST)

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

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

• 標準でそこそこできる

よくハマるポイント

CSVあるある

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

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

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

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

Macの人涙目

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

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

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

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

データフローの列順

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

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

インポートの属性IDなど

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

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

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

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

必要なもの

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

• Mage_Eav_Model_Convert_Adapter_Entityを継承したクラス

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

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

必要なもの

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

• プロファイルXML

プロファイル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>

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

OroCRMとMagentoを連携する

OroCRMとMagentoの関係

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

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

色々分析trackingタグの提供

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

Magentoの弱いところ

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

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

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

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

まずはOroCRM BridgeをMagentoに入れる

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

OroCRM側で連携を設定する

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

OroCRMのレポート機能で分析

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

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

続きはExcelで!

OroCRMからMagentoの注文を作成

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

注文作成画面が出る

注文を作ってみる

Magento上にデータができる

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

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

OroCRM上でフォームを作る

フォームが出来る

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

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

送信してみる

OroCRMにデータができる

おわり

top related