¿Cómo obtengo la versión de Magento en Magento2.x (por ejemplo 2.0.0
)?
En Magento1.x, podría hacerlo con
Mage::getVersion()
Entonces, ¿cuál es el equivalente en Magento2.x?
fuente
¿Cómo obtengo la versión de Magento en Magento2.x (por ejemplo 2.0.0
)?
En Magento1.x, podría hacerlo con
Mage::getVersion()
Entonces, ¿cuál es el equivalente en Magento2.x?
Hasta la versión 2.0.7 de Magento, el número de versión se mantenía en la AppInterface::VERSION
constante.
Con el lanzamiento de Magento 2.1 se eliminó la constante.
Así que hasta 2.0.7 si marca el archivo de pie de página adminhtml donde se muestra la versión
Tenía referencia a la \Magento\Framework\AppInterface::VERSION
constante.
Pero desde que se lanzó Magento 2.1, el archivo de pie de página ahora usa el \Magento\Backend\Block\Page\Footer::getMagentoVersion()
que a su vez llama a \Magento\Framework\App\ProductMetadata::getVersion()
.
Anteriormente, la ProductMetadata::getVersion()
utiliza para devolver el valor de la constante \Magento\Framework\AppInterface::VERSION
, pero ahora se analiza el composer.json
, así como composer.lock
y devuelve la versión de Magento apropiada
Entonces, no importa en qué versión se encuentre en 2.0.xo 2.1.x, si usa el \Magento\Framework\App\ProductMetadata::getVersion()
método, siempre obtendrá la versión de Magento adecuada.
Conclusión:
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
puede contener una restricción de versión como "^ 2.1" que no indica la versión exacta, por lo que Magento (también) está verificando elcomposer.lock
archivo para ver qué versión exacta está instalada actualmente.Puede usar esto en versiones 2.0.x:
Para la versión 2.1:
Camino 1, usando DI:
Camino 2, usando ObjectManager directamente:
fuente
Las soluciones mencionadas no son aplicables a partir de Magento 2.1 (
\Magento\Framework\AppInterface::VERSION
se eliminó la constante)La nueva forma de obtener la versión es recuperarla de la instancia de metadatos del producto (lee la versión de composer.json):
(mejor inyectar metadatos del producto al constructor como
\Magento\Framework\App\ProductMetadataInterface
)fuente
Además de las otras respuestas, puede obtener la versión principal (por ejemplo 2.1) accediendo
/magento_version
a su sitio web Magento 2.fuente
En caso de que alguien tenga que encontrarlo manualmente. La versión básica del módulo Magento se encuentra en este archivo compositor:
También como se sugirió anteriormente, para que el código siguiente funcione:
\Magento\Framework\App\ProductMetadata
ahora requiereComposerJsonFinder
que se pase la instancia en el momento de la instanciación.Un ejemplo que encontré en
dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php
:El código anterior es solo para fines informativos. Tienes que cavar más para que funcione.
fuente
Puede ejecutar el siguiente comando para obtener la versión de magento:
fuente
Para usuarios como Unix
No es necesario escribir ningún código PHP para esto. Debido a que Magento 2 utiliza compositor, lo hace todo más fácil. Puedes hacer esto de dos maneras:
Compruebe el composer.json y busque una clave llamada versión. Si eres como yo a quien le gusta usar el terminal, puedes hacer algo como en la raíz del proyecto.
Esto devuelve la versión del M2 si desea verificar si se trata de una versión comunitaria o empresarial, simplemente haga lo siguiente:
fuente
simplemente verifique el archivo composer.json en la raíz magento2, encontrará un texto como este
fuente
composer.json
puede contener una restricción de versión como "^ 2.1" que no indica la versión exacta. Debe verificar elcomposer.lock
archivo para ver qué versión exacta está instalada actualmente.Prueba esto:
Para la versión 2.1:
fuente
Aquí hay algunas formas de verificar la versión de Magento
Método n. ° 1: utilice la comprobación de código PHP
Verifique la versión de Magento 1 Verifique la versión de Magento 2Puede usar esto en versiones 2.0.x:
Para la versión 2.1:
La primera forma, usando DI:
La segunda forma, usando ObjectManager directamente:
Método # 2: Verifique la versión de Magento a través de la línea de comando
Puede ejecutar el siguiente comando para obtener la versión de Magento 2:
En realidad, dado que Magento 2 ha utilizado su compositor para que no necesite escribir ningún código PHP para esto. En cambio, hay dos opciones para encontrar la versión de Magento 2:
En primer lugar, pruebe composer.json y busque la palabra clave de versión. Si prefiere usar la terminal, puede agregar algo en la raíz del proyecto.
Otra forma de verificar la versión de Magento 2 es la edición comunitaria o empresarial, escriba lo siguiente
Use el servicio web para verificar https://www.mageplaza.com/check-magento-version/
fuente
Pruebe esta herramienta en línea, funciona para ambas versiones de magento1.x y magento2.x https://www.talktojobs.com/check-magento-version/
fuente