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 siteinsé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!
