quelle est la différence entre $ _SERVER ['MAGE_RUN_TYPE'] 'store' et 'website'


8

Pour la création de magento à plusieurs magasins, nous utilisons le code suivant

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

Quelle sera la différence si nous utilisons au websitelieu de storedans le $_SERVER['MAGE_RUN_TYPE'] : 'store';code

Réponses:


13

Je veux corriger KESHAV_PHP ici.

$_SERVER['MAGE_RUN_TYPE']définit le type d'entité qui est utilisé pour sélectionner le magasin à la fin. Si vous définissez un magasin spécifique en passant ici store, le magasin est chargé. Cela signifie surtout (en contradiction avec ce que keshav a écrit), peu importe que le magasin fasse partie du site Web par défaut ou non.

Si vous réussissez website, le magasin est chargé, ce qui est par défaut pour le site Web.

$_SERVER['MAGE_RUN_CODE']définit le code du site Web ou du magasin, tel que défini dans les tableaux core_website.codeet core_store.code.

L'ensemble du processus se trouve ici:

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

getStoreByWebsiteobtient uniquement le groupe par défaut, puis les appels getStoreByGroupqui obtient le magasin par défaut pour le groupe.


Explication fabuleuse. + 1 pour creuser le noyau :)
Rajeev K Tomy

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.