qual è la differenza tra $ _SERVER ['MAGE_RUN_TYPE'] 'store' e 'website'


8

Per la creazione di magento multistore utilizziamo il seguente codice

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

Quale sarà la differenza se usiamo websiteinvece che storenel $_SERVER['MAGE_RUN_TYPE'] : 'store';codice

Risposte:


13

Voglio correggere KESHAV_PHP qui.

$_SERVER['MAGE_RUN_TYPE']definisce il tipo di entità utilizzata per selezionare il negozio alla fine. Se si definisce un negozio specifico passando qui store, il negozio viene caricato. Ciò significa in particolare (in contraddizione con quanto scritto da keshav), che non importa se il negozio fa parte o meno del sito Web predefinito.

Se si passa website, viene caricato l'archivio che è predefinito per il sito Web.

$_SERVER['MAGE_RUN_CODE']definisce il codice del sito Web o del negozio, come definito nelle tabelle core_website.codee core_store.code.

L'intero processo può essere trovato qui:

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

Dove getStoreByWebsiteottiene solo il gruppo predefinito e quindi chiama getStoreByGroupche ottiene l'archivio predefinito per il gruppo.


Spiegazione favolosa. + 1 per scavare il nucleo :)
Rajeev K Tomy,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.