0

私は自分のプロジェクトに代わるものを調査し始めましたが、自分では答えられないいくつかの質問が出てきました。

問題は、同じサーバーにインストールされた複数の Magento インスタンスにアクセスできる Web ページを作成したいということです。現在、クライアントごとに 1 つの Magento インスタンスがあり、このプロジェクトは複数の Magneto インスタンスにアクセスして、それぞれからレポートをエクスポートします (たとえば)。

この瞬間まで私が考えた代替案は次のとおりです。

  • 別の Magento インスタンスを用意し、その中に新しいモジュールを作成して、操作/クエリをトリガーする前に「データベース ターゲット」を変更します。

この瞬間までの質問:

  • Magento インスタンスの「データベース ターゲットを変更」できますか?
  • SOAP/REST にアピールせずに Magento インスタンスからデータにアクセスするにはどうすればよいですか?
  • Magento の一部のコンポーネント (グリッド、タブ、フォームなど) を再利用したいので、別のプロジェクトからこのコードにアクセスできる独立したプロジェクト (Zend など) を検討していません。それは理にかなっていますか?
  • 他のアイデアはありますか?

==編集済み==

ヒントに感謝し、私の無知に申し訳ありません。コメントは、私が次のようなことを実行できると信じさせてくれます:

// File myScript.php
require '/home/DOMAIN1/app/Mage.php';
Mage::app('default');
// get some products from DOMAIN1

require '/home/DOMAIN2/app/Mage.php';
Mage::app('default');
// get some products from DOMAIN2

そうですか?require を 2 回実行することはできますか (そして、最初の require から上書きすることはできますか?)

==編集2==

1 つのサードパーティ ファイルから複数の Magento インスタンスに接続しようとしています。ヒントはありますか?現在、いくつかの/異なるエラーに直面しています。

私が知っている唯一のことは、SOAP を使用して必要な情報を取得できるということですが、これにはコストがかかります。

ありがとう!

4

1 に答える 1

0

最も簡単な方法は、各ショップ インスタンスから Mage.php を含めることです。複数をロードできるようにするには、名前空間またはその他のトリックを使用する必要があります。

または、それがうまくいかない場合は、別のファイルで独自の API を作成して、1 つのショップから必要なものを取得し、その結果を API を呼び出す PHP ファイルに結合します。

Magento の外部で Magento 機能を使用する方法のサンプルを次に示します。

require 'app/Mage.php';
if (!Mage::isInstalled()) {
    echo "Application is not installed yet, please complete install wizard first.";
    exit;
}
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

// your custom code here, for example, get the product model..
$productModel = Mage::getModel('catalog/product');
于 2013-10-18T09:32:07.577 に答える