$ _SERVER ['MAGE_RUN_TYPE'] 'store'と 'website'の違いは何ですか


8

マルチストアmagentoの作成には、次のコードを使用します

$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::run($mageRunCode, $mageRunType);

私たちが使用している場合、何が違いになるwebsiteの代わりstore$_SERVER['MAGE_RUN_TYPE'] : 'store';コード

回答:


13

ここでKESHAV_PHPを修正したいと思います。

$_SERVER['MAGE_RUN_TYPE']最後にストアを選択するために使用されるエンティティのタイプを定義します。hereを渡して特定のストアを定義するとstore、ストアがロードされます。これは、(ケシャブが書いたものとは対照的に)特別な意味で、ストアがデフォルトのWebサイトの一部であるかどうかは関係ありません。

を渡すwebsiteと、ウェブサイトのデフォルトであるストアが読み込まれます。

$_SERVER['MAGE_RUN_CODE']core_website.codeおよびで定義されているように、Webサイトまたはストアのコードを定義しますcore_store.code

プロセス全体はここにあります:

\Mage_Core_Model_App::_initCurrentStore
switch ($scopeType) {
        case 'store':
            $this->_currentStore = $scopeCode;
            break;
        case 'group':
            $this->_currentStore = $this->_getStoreByGroup($scopeCode);
            break;
        case 'website':
            $this->_currentStore = $this->_getStoreByWebsite($scopeCode);
            break;
        default:
            $this->throwStoreException();
    }

どこにgetStoreByWebsiteのみ、デフォルトのグループを取得し、呼び出しgetStoreByGroupグループのデフォルトストアを取得します。


すばらしい説明。コアを掘るための+1 :)
Rajeev K Tomy

1

現在、magentoサイトの別のWebサイトにも取り組んでいます。私のプロジェクトでは、Webサイトに固有のストアを持つ3つのWebサイトを作成しています。

$ server [mage_run_type]:websiteは、サイトが読み込まれるときに、magentoがウェブサイトを読み込むことを意味します。

$ server [mage_runtype]:storeは、magentoがデフォルトのウェブサイトのストアをロードすることを意味します。

http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/navigation/multiple-website-setup

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.