Magentoを別プログラムから操作する

ECサイト構築にMagentoを使用した際、別プログラムとの連携が必要となったので、その方法をご紹介します。
(今回は、Codeigniterで作成したシステムと連携)
紹介すると言っても、凄く簡単なのですが・・

// Magentoのコアファイルの読込み
require_once('app/Mage.php');
// Magentoの初期化
Mage::app('default');

これだけです。後は、Magentoのオブジェクトが自由に使用できるようになります。

// 商品マスタの取得
$product = Mage::getModel('catalog/product)->load(商品ID);
// 商品名を更新
$product->setName('新しい商品名');
$product->save();

// 顧客マスタの取得
$customer = Mage::getModel('customer/customer')->load(顧客ID);

顧客マスタは、現在のセッションからも取得できます。
Mage::getSingleton('core/session', array('name'=>'frontend'));
// ログイン中かどうか
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
  // ログイン中の顧客情報取得
  $customer = Mage::getSingleton('customer/session')->getCustomer();
}

以上です。
MagentoのDBはテーブル数が300オーバーで、商品マスタや顧客マスタは、EAVを用いておりテーブルが分散しているので、直に更新するのは大変です。
Magentoは理解するまでが大変ですが、カスタマイズ等が柔軟に出来る仕組みになっているので、便利な機能を覚えると開発が楽になっていきますね。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL