Question

Il y a quelques belles extensions pour les développeurs de Magento que vous ne voulez pas l'habitude d'avoir sur un système en direct.

Comment pouvez-vous les garder dans le dépôt du projet, mais les éviter d'être exposés sur une boutique en ligne?

Était-ce utile?

La solution

Il existe deux techniques relativement nouvelles pour le faire:

  • Modman de sorte que vous serez en mesure de contrôle par vous-même ce qu'il faut déployer pour chaque environnement. Cela signifie que vous exécuter modman deploy [name-of-dev-extension] seulement à votre environnement de dev.

  • Utilisez magento-compositeur avec différents scénarios de composer.json pour différents environnements . Et encore plus facile est de spécifier les extensions sous forme de modules de dev et puis installez le projet à l'aide du commutateur de --require-dev sur votre machine de développement.

Autres conseils

Ceux-ci peuvent généralement être désactivé facilement avec un drapeau de configuration, de sorte qu'ils sont techniquement actifs, mais ne fait rien. Si vous définissez cette option à false dans app/etc/local.xml de votre système live, vous devriez être bien.

Voir MageTrashApp qui a été créé au Hackathon Magento à Berlin récemment. Permet aux modules desactivera via le panneau d'administration.

Une façon simple de le faire est, est handicapante le module dans / etc / modules, poussant, ignorer le fichier localement et l'activer à nouveau.

Je pense que la meilleure façon de traiter c'est de garder soit l'ensemble de ces modules dans le codePool local et désactiver tous les modules locaux en temps réel avec cette ligne dans votre local.xml:

    <disable_local_modules>true</disable_local_modules>

Ou vous pouvez le faire « Désactiver le module de sortie » dans le backend de votre environnement direct. (Système -> Configuration -> Avancé). Cependant, cela ne désactive pas tout à fait le module. Mais peut-être qu'il est juste assez besoin que vous voulez cacher de celui-ci.

La seule autre chose que je peux penser est d'écrire un code qui peut retirer ceci. Il suffit de vérifier que ce soit en mode développeur (de Mage::getIsDeveloperMode()), puis désactiver les modules. J'ai trouvé quelques détails sur la réalisation de ce ici: https://stackoverflow.com/questions/ 6520634 / magento-faire à désactiver le module-programme

En général, je les mettre dans mon environnement de test, mais ne les vérifie pas dans le système de contrôle de version, par exemple en utilisant le fichier .gitignore pour les exclure d'être considéré pour avoir commis.

Il y a une diapositive Imaginez la conférence 2011 par Erik Hansen. Il a déclaré un code dans la coulisse qui est comme ci-dessous (pour le mode développeur)

# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
   $_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}

est ici, Erik permettant un réglage sur la base des sous-domaines que vous pouvez personnaliser vous-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top