1つのMagentoインストールを使用して複数のストアを作成する方法

これはこの記事の無料翻訳です。 この記事はMagentoに精通している人を対象としているため、元の記事の多くの基本的な事項は省略されています。 この問題を解決するには、いくつかの実装があります。

その結果、同じコードを使用し、同じ管理パネルから管理される複数のストアができます。

Magentoに別のストアを追加する


まず、新しいストアのルートカテゴリを作成し、アクティブにし、 Is Anchor属性の値をYesに設定する必要があります。 次に、 [システム]-> [ストアの管理]の[管理]セクションに移動し、新しいWebサイトストアストアビューを作成します 。 例の詳細:

ウェブサイト:

店舗:

ストアビュー:

追加のストアも同様に作成されます。

次に、新しいストアのベースURLを指定する必要があります。 [システム]-> [構成]セクションに移動します。 現在の構成スコープ (左上にある)で、 Default Config値をShoesに変更します。 [ セキュリティ ]セクションと[ セキュリティで保護されていない]セクションの[ Web ]タブで、 ベースURLを指定します 。 ケースごとに、このURLは異なります。例:

各URLの末尾にスラッシュが必要です。

これらのURLにアクセスできるようにするには、次のことを行う必要があります。

サブディレクトリ


そのため、メインサイトのサブディレクトリにストアが必要です。

これを行うには、Magentoのルートにshoesサブディレクトリを作成し、Magentoのルートディレクトリから.htaccessファイルindex.phpファイルをコピーします。 次に、 index.phpファイルを編集する必要があります。 行$ mageFilename = 'app / Mage.php'検索し、 Mage.phpファイルへの正しいパスを指定します。 この場合、 $ mageFilename = '../app/Mage.php'です。 また、 Mage :: run()メソッドの呼び出しに2つのパラメーターを追加する必要があります。

修正する

メイジ:: run();



Mage :: run( 'shoes'、 'website');

その後、https://mall.com/shoes/のShoesストアに連絡できます。

この部分は、次の2つのビデオで詳細に説明されています。

ドメイン名


実際、Magentoがインストールされている同じサーバーに関連付けられたいくつかのドメイン名があるため、元のindex.phpファイルを既に編集する必要があります。 だから、行を置き換えます

Mage :: run();


  1. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  2. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  3. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  4. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  5. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  6. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  7. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  8. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }
  9. switch ($_SERVER[ 'HTTP_HOST' ]) { case 'shoes.com' : case 'www.shoes.com' : Mage::run( 'shoes' , 'website' ); break ; default : Mage::run(); break ; }

店舗を増やすには、次のようにコードを変更する必要があります。
  1. スイッチ ($ _SERVER [ 'HTTP_HOST' ]){
  2. // Shoes.com
  3. ケース 「shoes.com」
  4. ケース 「www.shoes.com」
  5. Mage :: run( 'shoes''website' );
  6. 休憩 ;
  7. // Hats.com
  8. ケース 「hats.com」
  9. ケース 「www.hats.com」
  10. Mage :: run( 'hats''website' );
  11. 休憩 ;
  12. // Shirts.com(デフォルトストア)
  13. デフォルト
  14. メイジ:: run();
  15. 休憩 ;
  16. }

それだけです。 これらの操作の後、ストアはhttp://shoes.com/で利用可能になります。

サブドメイン


メインドメインmall.comがあるため、shoes.mall.comサブドメインの2番目のストアを上げる必要があります。 サブドメインの構成に必要なすべてがホスティングで既に行われていることを望んでいるので、このサブドメインにストアを作成することに進みましょう。
サブディレクトリの手順と同様に、.htaccessファイルとindex.phpファイルをMagentoルートディレクトリからサブドメインのルートディレクトリにコピーする必要があります。その後、 index.phpファイルの編集を開始できます。 最初に行うことは、 index.phpファイルでMage.phpファイルの場所を指定することです 。 そのため、 index.phpファイルで、次の行を置き換えます

$ mageFilename = 'app / Mage.php';



$ mageFilename = '../public_html/app/Mage.php';

別のパスを使用することもできますが、それはすべて、相互に関連するホスティング上のドメインディレクトリの場所に依存します。

次に、 Mage :: run()Mage :: run( 'shoes'、 'website')に置き換える必要があります。これにより、Magentoエンジンはどのストアを起動する必要があるかを認識できます。 最後に、Magentoのすべてのメインディレクトリへのシンボリックリンクを作成します。

ln -s ../public_html/404/ ./404
ln -s ../public_html/app/ ./app
ln -s ../public_html/includes/ ./includes
ln -s ../public_html/js/ ./js
ln -s ../public_html/media/ ./media
ln -s ../public_html/report/ ./report
ln -s ../public_html/skin/ ./skin
ln -s ../public_html/var/ ./var

これで、ストアはhttp://shoes.mall.com/で利用可能になります。

その結果、インストールされた1つのシステムがコンテンツを管理する複数のストアを取得します。 これらのストアのコンテンツは相互接続されているか、共通点がない場合があります。 誰もが自分にとってより便利な方法を使用でき、結果は最終的に同一になります。 ここでの主な利点は、複数の店舗を管理し、店舗管理者の時間を節約できることです。

Source: https://habr.com/ru/post/J91611/


All Articles