Wie bekomme ich die Magento-Version in Magento2.x (zB 2.0.0
)?
In Magento1.x könnte ich es mit machen
Mage::getVersion()
Was ist das Äquivalent in Magento2.x?
quelle
Wie bekomme ich die Magento-Version in Magento2.x (zB 2.0.0
)?
In Magento1.x könnte ich es mit machen
Mage::getVersion()
Was ist das Äquivalent in Magento2.x?
Bis zur Magento-Version 2.0.7 wurde die Versionsnummer AppInterface::VERSION
konstant gehalten.
Mit der Veröffentlichung von Magento 2.1 wurde die Konstante entfernt.
Also bis 2.0.7, wenn Sie die adminhtml-Fußzeilendatei überprüfen, in der die Version angezeigt wird
Es bezog sich auf die \Magento\Framework\AppInterface::VERSION
Konstante.
Aber seit Magento 2.1 Release verwendet die Footer-Datei nun die, \Magento\Backend\Block\Page\Footer::getMagentoVersion()
die wiederum die aufruft \Magento\Framework\App\ProductMetadata::getVersion()
.
Bisher sind die ProductMetadata::getVersion()
verwendet , um den Wert der Konstanten zurückzukehren \Magento\Framework\AppInterface::VERSION
, aber jetzt analysiert es die composer.json
sowie aus composer.lock
und gibt die entsprechende magento Version
Egal auf welcher Version 2.0.x oder 2.1.x Sie sich befinden, wenn Sie die \Magento\Framework\App\ProductMetadata::getVersion()
Methode verwenden, erhalten Sie immer die richtige Magento-Version.
Fazit:
Magento 1:
Mage::getVersion() //will return the magento version
Magento 2:
//Updated to use object manager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$version = $productMetadata->getVersion(); //will return the magento version
composer.json
enthält möglicherweise eine Versionsbeschränkung wie "^ 2.1", die nicht die genaue Version angibt. Daher überprüft Magento (auch) diecomposer.lock
Datei, um festzustellen, welche Version gerade installiert ist.Sie können dies in 2.0.x-Versionen verwenden:
Für Version 2.1:
Weg 1 mit DI:
Weg 2, mit ObjectManager direkt:
quelle
Erwähnte Lösungen sind ab Magento 2.1 nicht mehr anwendbar (
\Magento\Framework\AppInterface::VERSION
Konstante wurde entfernt)Die neue Methode zum Abrufen der Version besteht darin, sie aus der Product Metadata Instance abzurufen (liest die Version aus composer.json):
(Besser Produkt-Metadaten in Konstruktor einfügen als
\Magento\Framework\App\ProductMetadataInterface
)quelle
Zusätzlich zu den anderen Antworten können Sie die Hauptversion (zum Beispiel 2.1) erhalten, indem Sie auf Ihrer Magento 2-Website zugreifen
/magento_version
.quelle
Für den Fall, dass jemand es manuell finden muss. Die Basisversion des Magento-Moduls befindet sich in dieser Composer-Datei:
Auch wie oben vorgeschlagen, um den folgenden Code zum Laufen zu bringen:
\Magento\Framework\App\ProductMetadata
Erfordert nun, dass die Instanz vonComposerJsonFinder
zum Zeitpunkt der Instanziierung übergeben wird.Ein Beispiel, das ich gefunden habe in
dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php
:Der obige Code dient nur zu Informationszwecken. Sie müssen mehr einarbeiten, damit es funktioniert.
quelle
Sie können den folgenden Befehl ausführen, um die Magento-Version zu erhalten:
quelle
Für Benutzer wie Unix
Dazu muss kein PHP-Code geschrieben werden. Da Magento 2 Composer verwendet, wird alles einfacher. Sie können dies auf zwei Arten tun:
Überprüfen Sie die Datei composer.json und suchen Sie nach einem Schlüssel namens version. Wenn Sie wie ich sind, der das Terminal gerne benutzt, können Sie so etwas wie im Stammverzeichnis des Projekts tun.
Dies gibt die Version des M2 zurück. Wenn Sie überprüfen möchten, ob es sich um eine Community- oder eine Enterprise-Version handelt, gehen Sie wie folgt vor:
quelle
Überprüfen Sie einfach die Datei composer.json im Stammverzeichnis von magento2. Sie finden einen Text wie diesen
quelle
composer.json
enthält möglicherweise eine Versionsbeschränkung wie "^ 2.1", die nicht die genaue Version angibt. Sie sollten diecomposer.lock
Datei überprüfen, um festzustellen, welche Version aktuell installiert ist.Versuche dies:
Für Version 2.1:
quelle
Hier sind einige Möglichkeiten, die Magento-Version zu überprüfen
Methode 1: Verwenden Sie die PHP-Code-Prüfung
Überprüfen Sie die Magento 1-Version Überprüfen Sie die Magento 2-VersionSie können dies in 2.0.x-Versionen verwenden:
Für Version 2.1:
Der erste Weg mit DI:
Die zweite Möglichkeit, ObjectManager direkt zu verwenden:
Methode 2: Überprüfen Sie die Magento-Version über die Befehlszeile
Sie können den folgenden Befehl ausführen, um die Magento 2-Version abzurufen:
Tatsächlich, da Magento 2 seinen Composer verwendet hat, müssen Sie dafür keinen PHP-Code schreiben. Stattdessen gibt es zwei Möglichkeiten, die Magento 2-Version zu finden:
Probieren Sie zunächst die Datei composer.json aus und suchen Sie nach dem Schlüsselwort version. Wenn Sie Terminal bevorzugen, können Sie etwas im Stammverzeichnis des Projekts hinzufügen.
Eine andere Möglichkeit, die Magento 2-Version zu überprüfen, ob es sich um eine Community- oder Enterprise-Edition handelt, ist die folgende
Verwenden Sie den Webdienst, um https://www.mageplaza.com/check-magento-version/ zu überprüfen.
quelle
Bitte probieren Sie dieses Tool online aus, es funktioniert für beide Versionen von magento1.x und magento2.x https://www.talktojobs.com/check-magento-version/
quelle