qual é a diferença entre $ _SERVER ['MAGE_RUN_TYPE'] 'store' e 'website'


8

Para a criação de magento de vários armazenamentos, usamos o código a seguir

$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);

Qual será a diferença se usarmos em websitevez de storeno $_SERVER['MAGE_RUN_TYPE'] : 'store';código

Respostas:


13

Quero corrigir KESHAV_PHP aqui.

$_SERVER['MAGE_RUN_TYPE']define o tipo de entidade que é usada para selecionar a loja no final. Se você definir uma loja específica passando aqui store, a loja será carregada. Isso significa espacialmente (em contradição com o que a keshav escreveu), que não importa se a loja faz parte do site padrão ou não.

Se você for aprovado website, a loja será carregada, o que é o padrão para o site.

$_SERVER['MAGE_RUN_CODE']define o código do site ou loja, conforme definido nas tabelas core_website.codee core_store.code.

Todo o processo pode ser encontrado aqui:

\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();
    }

Onde getStoreByWebsiteapenas obtém o grupo padrão e depois chama o getStoreByGroupque obtém o armazenamento padrão para o grupo.


Explicação Fabuloso + 1 para escavar núcleo :).
Rajeev K Tomy

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.