1つのインストールを作成し、このインストールから異なるデータベースで複数のショップを作成することは可能ですか?
データベースを使用してdomain.1に 1つのインストールを作成し、adminからdomain.2の新しいデータベースに新しいWebサイトとストアを作成するようなものです。
1つのデータベースで複数の店舗を実現できることは知っています。しかし、データベースが異なっていても同じになる可能性があります。
1つのインストールを作成し、このインストールから異なるデータベースで複数のショップを作成することは可能ですか?
データベースを使用してdomain.1に 1つのインストールを作成し、adminからdomain.2の新しいデータベースに新しいWebサイトとストアを作成するようなものです。
1つのデータベースで複数の店舗を実現できることは知っています。しかし、データベースが異なっていても同じになる可能性があります。
回答:
すばらしい回答です。私たちは非常に似たようなことをしました。index.phpを編集する代わりに、magentoのコードベースの外に別のフォルダーをセットアップし、それらのフォルダーからmage.phpを含めて、上記の方法のようにetc_dir(およびその他のディレクトリ)を編集します。
フォルダー構造:
/ www / client1
/ www / client2
/ www / client3
/ www / clientX
/ www / magento
各クライアントフォルダーの内部は次のとおりです。
/www/clientx/index.php
define('MAGENTO_ROOT', '/www/magento');
...(index.phpの残りの部分は通常どおりのビジネスです)...
$client = isset($_SERVER['CLIENT_ID']) ? $_SERVER['CLIENT_ID'] : '';]
Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'../'.$client));
設定
$_SERVER['CLIENT_ID'] in Nginx with
`fastcgi_param CLIENT_ID clientx; `
単一のコードベースを使用して、独自のデータベースを備えた複数の別個のストアが必要ですか?
まあ、それを行うための単純で推奨される方法はありません。そうは言っても、何ができるかがわかります。
データベース情報は単一のxmlファイルから取得されます:app / etc / local.xmlこのファイルはapp / Mage.phpからロードされるため、そのファイルを変更した場合、理論的には、ロードする構成ファイルを(必要に応じて)決定できますドメイン名などの条件)。出来上がり、異なるドメイン、異なるデータベース。今度はBad News Part(tm)が登場します。
私はこの拡張機能を見つけました:https :
//github.com/steverobbins/Magento-Multi_Client
Magento Multi Client
同じMagentoコードベースで複数のクライアントをホストします。各クライアントには、独自のlocal.xmlおよびetc / modules.xmlがあります。これにより、クライアントごとに個別のデータベースとキャッシュサービスを指定し、必要に応じてモジュールを有効または無効にすることができます。
各クライアントは独立性を維持しますが、コードベースを共有します。
これは、Magento WebサイトをホストするためのMagento Go-esqueアプローチと考えることができます。
設定ファイルを含む新しいフォルダーを作成し、index.phpでMage :: Run()にオプションの配列を追加するだけです。
そのフォルダーには、modulesフォルダーを含むapp / etc /と同じ内容がすべて含まれます。
最初のドメイン:
Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'app/domain1'));
2番目のドメイン:
Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'app/domain2'));
これにより、ドメインの構成ファイルの場所がMagentoに通知されます。