В чем разница между $ _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']определяет тип объекта, который используется для выбора магазина в конце. Если вы определите конкретное хранилище, передав его сюда store, то оно будет загружено. Это означает особенно (в отличие от того, что написал Кешав), что не имеет значения, является ли магазин частью сайта по умолчанию или нет.

Если вы пройдете website, то магазин загружается, что по умолчанию для веб-сайта.

$_SERVER['MAGE_RUN_CODE']определяет код сайта или магазина, как определено в таблицах core_website.codeи 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 за копание ядра :)
Раджив К Томи
1

В настоящее время я также работаю над другим сайтом в magento site. В моем проекте я создаю три сайта с магазинами, которые специально для этого сайта.

$ server [mage_run_type]: сайт означает, что когда сайт загружается, magento загружает сайт.

$ server [mage_runtype]: store означает, что magento загружает хранилище веб-сайта по умолчанию.

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

Sourav
источник