Comment obtenir la version de Magento dans Magento2.x (par exemple 2.0.0
)?
Dans Magento1.x, je pouvais le faire avec
Mage::getVersion()
Alors, quel est l'équivalent dans Magento2.x?
la source
Comment obtenir la version de Magento dans Magento2.x (par exemple 2.0.0
)?
Dans Magento1.x, je pouvais le faire avec
Mage::getVersion()
Alors, quel est l'équivalent dans Magento2.x?
Jusqu'à la version 2.0.7 de Magento, le numéro de version était maintenu dans la AppInterface::VERSION
constante.
Avec la sortie de Magento 2.1, la constante a été supprimée.
Donc, jusqu'à 2.0.7 si vous vérifiez le fichier de pied de page adminhtml où la version est affichée
Il faisait référence à la \Magento\Framework\AppInterface::VERSION
constante.
Mais depuis la sortie de Magento 2.1, le fichier de pied de page utilise désormais le \Magento\Backend\Block\Page\Footer::getMagentoVersion()
qui, à son tour, appelle le \Magento\Framework\App\ProductMetadata::getVersion()
.
Auparavant ProductMetadata::getVersion()
utilisé pour renvoyer la valeur de la constante \Magento\Framework\AppInterface::VERSION
, mais maintenant il analyse composer.json
aussi bien que composer.lock
et retourne la version appropriée de magento
Quelle que soit la version sur laquelle vous vous trouvez, soit 2.0.x ou 2.1.x, si vous utilisez la \Magento\Framework\App\ProductMetadata::getVersion()
méthode, vous obtiendrez toujours la bonne version de Magento.
Conclusion:
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
peut contenir une contrainte de version comme "^ 2.1" qui n'indique pas la version exacte, donc Magento vérifie (également) lecomposer.lock
fichier pour voir quelle version exacte est actuellement installée.Vous pouvez l'utiliser dans les versions 2.0.x:
Pour la version 2.1:
Voie 1, en utilisant DI:
Méthode 2, en utilisant directement ObjectManager:
la source
Les solutions mentionnées ne sont pas applicables à partir de Magento 2.1 (la
\Magento\Framework\AppInterface::VERSION
constante a été supprimée)La nouvelle façon d'obtenir la version est de la récupérer à partir de l'instance de métadonnées du produit (lit la version de composer.json):
(il vaut mieux injecter les métadonnées du produit au constructeur en tant que
\Magento\Framework\App\ProductMetadataInterface
)la source
En plus des autres réponses, vous pouvez obtenir la version principale (par exemple 2.1) en accédant
/magento_version
à votre site Web Magento 2.la source
Si quelqu'un doit le trouver manuellement. La version de base du module Magento se trouve dans ce fichier compositeur:
Aussi comme suggéré ci-dessus, pour faire fonctionner le code ci-dessous:
\Magento\Framework\App\ProductMetadata
requiert maintenant que l'instance deComposerJsonFinder
soit passée au moment de l'instanciation.Un exemple que j'ai trouvé dans
dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php
:Le code ci-dessus est purement informatif. Vous devez creuser davantage pour que cela fonctionne.
la source
Vous pouvez exécuter la commande ci-dessous pour obtenir la version de magento:
la source
Pour les utilisateurs comme Unix
Pas besoin d'écrire de code PHP pour cela. Parce que Magento 2 utilise le compositeur, il est plus facile. Vous pouvez procéder de deux manières:
Vérifiez le composer.json et recherchez une clé appelée version. Si vous êtes comme moi qui aime utiliser le terminal, vous pouvez faire quelque chose comme à la racine du projet.
Cela renvoie la version du M2 si vous souhaitez vérifier s'il s'agit d'une version communautaire ou d'entreprise, puis procédez comme suit:
la source
vérifiez simplement le fichier composer.json à la racine de magento2, vous trouverez du texte comme celui-ci
la source
composer.json
peut contenir une contrainte de version comme "^ 2.1" qui n'indique pas la version exacte. Vous devriez vérifier lecomposer.lock
fichier pour voir quelle version exacte est actuellement installée.Essaye ça:
Pour la version 2.1:
la source
Voici quelques façons de vérifier la version de Magento
Méthode n ° 1: utilisez la vérification du code PHP
Vérifier la version de Magento 1 Vérifier la version de Magento 2Vous pouvez l'utiliser dans les versions 2.0.x:
Pour la version 2.1:
La première façon, en utilisant DI:
La deuxième façon, en utilisant directement ObjectManager:
Méthode n ° 2: vérifier la version de Magento via la ligne de commande
Vous pouvez exécuter la commande ci-dessous pour obtenir la version de Magento 2:
En fait, puisque Magento 2 a utilisé son compositeur pour que vous n'ayez pas besoin d'écrire de code PHP pour cela. Au lieu de cela, il existe deux options pour trouver la version de Magento 2:
Tout d'abord, essayez le composer.json et recherchez le mot-clé version. Si vous préférez utiliser le terminal, vous pouvez ajouter quelque chose à la racine du projet.
Une autre façon de vérifier la météo de la version de Magento 2 est l'édition communautaire ou d'entreprise, veuillez écrire ce qui suit
Utilisez le service Web pour vérifier https://www.mageplaza.com/check-magento-version/
la source
Veuillez essayer cet outil en ligne, il fonctionne pour les deux versions de magento1.x et magento2.x https://www.talktojobs.com/check-magento-version/
la source