Domanda

Ci sono alcune estensioni belle per gli sviluppatori di Magento che di solito non si vuole avere su un sistema live.

Come si può tenerli nel repository del progetto, ma evitare loro di essere esposto in un negozio dal vivo?

È stato utile?

Soluzione

Ci sono due relativamente nuove tecniche per farlo:

  • Modman modo da essere in grado di controllo da soli cosa distribuire per ogni ambiente. Questo significa che si corrono modman deploy [name-of-dev-extension] solo al vostro ambiente dev.

  • Magento-compositore con diversi scenari composer.json per diversi ambienti . E modo ancora più semplice è quello di specificare quelle estensioni come dev-moduli e quindi installare il progetto utilizzando l'interruttore --require-dev sul computer di sviluppo.

Altri suggerimenti

Quelli di solito può essere disattivata comodamente con una bandiera di configurazione, in modo che siano tecnicamente attivo ma non fare nulla. Se si imposta questo flag su false in app/etc/local.xml del sistema live, si dovrebbe andare bene.

MageTrashApp che è stato creato presso il Magento Hackathon a Berlino di recente. Consente di disattivare i moduli tramite il pannello di amministrazione.

Un modo semplice per farlo è, è la disabilitazione del modulo in / etc / modules, spingendolo, ignorare il file in locale e attivare di nuovo.

Penso che il modo migliore per affrontare questo è o mantenere tutti i moduli nella codePool locale e disattivare tutti i moduli locali dal vivo con questa linea nel vostro local.xml:

    <disable_local_modules>true</disable_local_modules>

Oppure si può fare "Output Disabilita Module" nel backend sul vostro ambiente vivo. (Sistema -> Configurazione -> Avanzate). Tuttavia questo non interamente disattiva il modulo. Ma forse è solo abbastanza di volere che si desidera nascondere di esso.

L'unica altra cosa che posso pensare è scrivere del codice che può tirare fuori questo. Basta controllare se è in modalità sviluppatore (Mage::getIsDeveloperMode()) e moduli quindi disattivare. Ho trovato qualche dettaglio in più sul raggiungimento di questo qui: https://stackoverflow.com/questions/ 6520634 / Magento-how-to-disable-modulo-programmazione

Io di solito basta metterli nel mio ambiente di test, ma non li controlla nel sistema di controllo di versione, ad esempio utilizzando il file .gitignore da escludere che vengano considerati per commettere.

C'è una diapositiva in Imagine 2011 Conferenza da Erik Hansen. Egli ha dichiarato un codice nella diapositiva, che è come di seguito (per la modalità sviluppatore)

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

qui è, Erik consentendo una regolazione in base ai sottodomini che è possibile personalizzare da soli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top