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

Mukesh
la source

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.

Fabian Blechschmidt
la source
Explication fabuleuse. + 1 pour creuser le noyau :)
Rajeev K Tomy
1

Actuellement, je travaille également sur différents sites Web dans le site magento.Dans mon projet, je crée trois sites Web avec des magasins spécifiques au site Web.

$ server [mage_run_type]: site Web signifie que lorsque le site est chargé, magento charge le site Web.

$ server [mage_runtype]: store signifie que magento charge le magasin du site web par défaut.

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

Sourav
la source