Was ist der Unterschied zwischen $ _SERVER ['MAGE_RUN_TYPE'] 'store' und 'website'?

8

Für die Erstellung von Multistore Magento verwenden wir folgenden Code

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

Was ist der Unterschied , wenn wir verwenden , websiteanstatt storein $_SERVER['MAGE_RUN_TYPE'] : 'store';Code

Mukesh
quelle

Antworten:

13

Ich möchte KESHAV_PHP hier korrigieren.

$_SERVER['MAGE_RUN_TYPE']Definiert den Entitätstyp, mit dem am Ende das Geschäft ausgewählt wird. Wenn Sie ein bestimmtes Geschäft definieren, indem Sie hier übergeben store, wird das Geschäft geladen. Dies bedeutet insbesondere (im Gegensatz zu dem, was Keshav geschrieben hat), dass es keine Rolle spielt, ob der Store Teil der Standard-Website ist oder nicht.

Wenn Sie bestanden haben website, wird der Store geladen, der für die Website standardmäßig verwendet wird.

$_SERVER['MAGE_RUN_CODE']definiert den Code der Website oder des Geschäfts, wie in den Tabellen core_website.codeund definiert core_store.code.

Den gesamten Prozess finden Sie hier:

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

Wobei getStoreByWebsitenur die Standardgruppe abgerufen wird und dann aufgerufen wird, getStoreByGroupwodurch der Standardspeicher für die Gruppe abgerufen wird.

Fabian Blechschmidt
quelle
Fabelhafte Erklärung. + 1 für das Graben des Kerns :)
Rajeev K Tomy
1

Derzeit arbeite ich auch an verschiedenen Websites in Magento. In meinem Projekt erstelle ich drei Websites mit Websites, die spezifisch für die Website sind.

$ server [mage_run_type]: Website bedeutet, dass beim Laden der Website die Website von Magento geladen wird.

$ server [mage_runtype]: store bedeutet, dass magento den Store der Standardwebsite lädt.

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

Sourav
quelle