Frage

Es gibt einige schöne Erweiterungen für Magento -Entwickler, die Sie normalerweise nicht auf einem Live -System haben möchten.

Wie können Sie sie im Projektrepository behalten, aber vermeiden, dass sie in einem Live -Shop freigelegt werden?

War es hilfreich?

Lösung

Es gibt zwei relativ neue Techniken, um dies zu tun:

  • Verwenden Modman Sie können sich also selbst steuern, was für jede Umgebung bereitgestellt werden soll. Das bedeutet, dass Sie rennen modman deploy [name-of-dev-extension] Nur in Ihrer Entwicklerumgebung.

  • Verwenden Magento-Komponist mit unterschiedlichen composer.json Szenarien für verschiedene Umgebungen. Und noch einfacher ist es, diese Erweiterungen als Dev-Modules anzugeben und dann das Projekt mit dem Projekt zu installieren --require-dev Schalten Sie Ihre Entwicklungsmaschine ein.

Andere Tipps

Diese können normalerweise bequem mit einem Konfigurationsflag deaktiviert werden, sodass sie technisch aktiv sind, aber nichts tun. Wenn Sie diese Flagge auf false in einstellen app/etc/local.xml Von Ihrem Live -System sollte es Ihnen gut gehen.

Sehen MAGETRASHAPP Das wurde kürzlich beim Magento Hackathon in Berlin geschaffen. Ermöglicht Sie, Module über das Administratorfeld zu aktivieren.

Eine einfache Möglichkeit, dies zu tun, besteht darin, das Modul in /etc /modules zu deaktivieren, es zu drücken, die Datei lokal zu ignorieren und es erneut zu aktivieren.

Ich denke, die beste Möglichkeit, damit umzugehen, besteht darin, alle diese Module in der örtlichen Codepool zu behalten und alle lokalen Module auf dieser Linie in Ihrem lokalen. Xml zu deaktivieren:

    <disable_local_modules>true</disable_local_modules>

Oder Sie können "Modulausgabe deaktivieren" im Backend in Ihrer Live -Umgebung. (System -> Konfiguration -> Erweitert). Dies deaktiviert das Modul jedoch nicht vollständig. Aber vielleicht ist es gerade genug davon, dass du dich verstecken willst.

Das einzige andere, was ich mir vorstellen kann, ist, einen Code zu schreiben, der dies ausschöpfen kann. Überprüfen Sie einfach, ob es sich im Entwicklermodus befindet (Mage::getIsDeveloperMode()) und dann Module deaktivieren. Ich habe hier einige Details gefunden, um dies zu erreichen: https://stackoverflow.com/questions/6520634/magento-how-t-disable-module-programmatic

Normalerweise stecke ich sie einfach in meine Testumgebung, prüfe sie aber nicht im Versionskontrollsystem, beispielsweise mit der Verwendung der .gitignore Datei, um auszuschließen, von der Begehung in Betracht gezogen zu werden.

Es gibt eine Folie in Imagine 2011 von Erik Hansen. Er gab einen Code in der Folie an, der wie unten ist (für den Entwicklermodus)

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

Hier ist Erik, das eine Einstellung ermöglicht, die auf den Subdomains basiert, die Sie selbst anpassen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top