Il peut arriver de temps en temps, qu'il ya des problèmes avec les extensions, ex.: le. ne sont autorisés pour un domaine. A propos du backend l'extension alors que dans le respect de ce site web est un / à un magasin avec le domaine activée et désactivée pour tous les autres, mais l'extension affecte les autres magasins et entrave ou empêche la visualisation à l'extrémité avant.
Différentes extensions qui sont également activées et désactivées à la maison et il n'y a pas d'option de configuration, de définir dans quel magasin ou. qui place l'extension ne doit pas être activée, et où.
Je pensais que, mais qu'il doit y avoir un moyen directement dans le module Certains contiennent XML dans le dossier etc / modules dans le extension.xml respective, qu'il est “si le site X, être actif; si Y place ensuite inactive”.
Après quelques Rechercher et j'ai pensé que j'ai trouvé la solution:
1. Si le fichier config.php copié à partir du dossier app / code / core / Mage / Core / Modèle dans le app / code dossier / local / Mage / Core / Modèle là et puis sur. de la ligne 850 après
$modules = $ this->GetNode(«Modules»)->enfants(); foreach ($modules que modname $ =>$Module) { si ($Module->est('Active')) {
rechercher.
Il est alors
// Début de la restriction du site Web si((bool)$Module->limité) { $limité = explode(»,», (chaîne)$Module->limité); $ExécuterCode = (isset($_SERVER[«MAGE_RUN_CODE ']) ? $_SERVER[«MAGE_RUN_CODE '] : 'Default'); si(in_array($ExécuterCode, $limité)) { continuer; } } // Restriction fin du site
inséré, de sorte que tout le code ressemble à ceci:
configuration du module de charge de la fonction publique($filename, $= Null mergeToObject, $mergeModel = null) { $disableLocalModules = !$ce->_canUseLocalModules(); si ($mergeToObject === null) { $mergeToObject = clone $ this->_prototype; $mergeToObject>De charger la chaîne(»<config />»); } si ($mergeModel === null) { $mergeModel = clone $ this->_prototype; } $modules = $ this->GetNode(«Modules»)->enfants(); foreach ($modules que modname $ =>$Module) { si ($Module->est('Active')) { // Début de la restriction du site Web si((bool)$Module->limité) { $limité = explode(»,», (chaîne)$Module->limité); $ExécuterCode = (isset($_SERVER[«MAGE_RUN_CODE ']) ? $_SERVER[«MAGE_RUN_CODE '] : 'Default'); si(in_array($ExécuterCode, $limité)) { continuer; } } // Fin de la restriction du site Web si ($disableLocalModules && ('Local' === (chaîne)$Module->Piscine de code)) { continuer; } $configFile = $ this->getModuleDir(«Etc», $ModName).DS. $ Fichier; si ($mergeModel>fichier télécharger($configFile)) { $mergeToObject>extendwatchlist($mergeModel, vrai); } } } return $ mergeToObject; }
Mit diesen Voile wird Magento angewiesen considérer zu darauf, si une restriction est définie dans le module XML ou.
Maintenant, pour définir un tel, pour ouvrir le correspondant [Module].xml, et ajouté avant le <Piscine de code> la ligne
<limité>[du Code des magasins exclus, peuvent être séparés par des virgules si d'autres magasins]</limité>
Comme il peut être à toute la question de, qu'il s'agit d'un multi-magasins, Ainsi plusieurs sites Web à partir d'un backend Magento, il est toujours important, que la répartition des magasins par la variable $ _SERVER “MAGE_RUN_CODE” défini. Cela vous prend par exemple. dans le index.php dans le répertoire racine.
commutateur($_SERVER['HTTP_HOST']) { // Boutique 1 case 'shop1.de'; case 'www.shop1.de'; $_SERVER["MAGE_RUN_CODE"] = "shop1"; $_SERVER["MAGE_RUN_TYPE"] = "site Web"; briser; // Shop2 (magasin par défaut) par défaut: $_SERVER["MAGE_RUN_CODE"] = "shop2"; $_SERVER["MAGE_RUN_TYPE"] = "site Web"; briser;
Man würde également hier z.B. “shop1” als restreint einsetzen, wenn das Modul hier nicht aktiv sein soll.
Important: Vider le cache. La méthode la plus sûre et le dossier cache dans le var renommer et / ou supprimer. Magento crée automatiquement une nouvelle.
Utilisé dans la version Magento 1.4.1.1 Remarques? Ajouts? Remarques? Volontiers!