2012-03-06 17 views
0

複数のMagentoウェブサイトに接続してデータベースの更新を行うPHPバッチスクリプトを作成する必要があります。それらはすべて同じWebサーバー上で実行されています。複数のMagentoウェブサイトに接続

複数のスクリプト(各Webサイトに1つ)ではなく、1つのループスクリプトを作成できるようにしたいと考えています。しかし、私はまた、MagentoモデルをPHPコード(app/Mage.phpなど)で使用したいと考えています。

Magentoモデルで使用するウェブサイト/データベースをどのように制御できますか?

+0

これらのWebサイトでは、1つのデータベースで1つのMagentoを使用していますか? – clockworkgeek

+0

いいえ、WebサイトごとにMagentoのインストールとデータベースは別々です。 – Eydun

答えて

1

あなたのすべてのMagentoインストールを繰り返し実行し、Mage.phpを含むスクリプトを作成し、クエリを実行するデータベースハンドラを取得できます。このような 何か:

<?php 
$mySql = 'UPDATE ... WHERE ...;'; 
$magentos = array('/web/magento1/', '/web/magento2/'); 
foreach ($magentos as $m) { 
    require_once($m.'app/Mage.php'); 
    Mage::app('default'); 
    Mage::getSingleton('core/resource')->getConnection('core_write')->query($mySql); 
} 

たぶん、あなたもあなたのクエリの結果は、すべてが期待どおりに働いていることを確認するためにあなたのSQLおよび出力の周りにトランザクションを追加します。 使用するウェブサイトを制御するには、あなたの配列にウェブサイトを追加し、Mage :: app( 'default')を変更します。

+0

はい、私はあなたが示唆しているもののようなものについても考えていました。しかし、私はそれが働いているとは思わない。私はまた、いくつかのSERVER変数を変更してウェブサイトを切り替える必要があると思います... – Eydun

関連する問題