Как получить версию Magento в Magento2.x (например 2.0.0
)?
В Magento1.x я мог сделать это с
Mage::getVersion()
Так что же эквивалентно в Magento2.x?
источник
Как получить версию Magento в Magento2.x (например 2.0.0
)?
В Magento1.x я мог сделать это с
Mage::getVersion()
Так что же эквивалентно в Magento2.x?
Вплоть до версии 2.0.7 Magento номер версии оставался AppInterface::VERSION
постоянным.
С выпуском Magento 2.1 константа была удалена.
Так что до 2.0.7, если вы проверите файл нижнего колонтитула adminhtml, где отображается версия
Он имел ссылку на \Magento\Framework\AppInterface::VERSION
константу.
Но после выпуска Magento 2.1 файл нижнего колонтитула теперь использует тот, \Magento\Backend\Block\Page\Footer::getMagentoVersion()
который в свою очередь вызывает \Magento\Framework\App\ProductMetadata::getVersion()
.
Ранее ProductMetadata::getVersion()
использовался для возврата значения константы \Magento\Framework\AppInterface::VERSION
, но теперь он анализирует, composer.json
а также composer.lock
возвращает соответствующую версию magento
Поэтому, независимо от того, какая у вас версия на 2.0.x или 2.1.x, если вы используете \Magento\Framework\App\ProductMetadata::getVersion()
метод, вы всегда получите правильную версию Magento.
Вывод:
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
может содержать ограничение версии, например «^ 2.1», которое не указывает точную версию, поэтому Magento (также) проверяетcomposer.lock
файл, чтобы увидеть, какая именно версия установлена в данный момент.Вы можете использовать это в версиях 2.0.x:
Для версии 2.1:
Способ 1, используя DI:
Способ 2, используя ObjectManager напрямую:
источник
Упомянутые решения не применимы, начиная с Magento 2.1 (
\Magento\Framework\AppInterface::VERSION
постоянная была удалена)Новый способ получить версию - извлечь ее из экземпляра метаданных продукта (читает версию из composer.json):
(лучше добавить метаданные продукта в конструктор как
\Magento\Framework\App\ProductMetadataInterface
)источник
Помимо других ответов, вы можете получить основную версию (например, 2.1), зайдя
/magento_version
на ваш сайт Magento 2.источник
В случае, если кто-то должен найти его вручную. Базовая версия модуля Magento находится в этом файле композитора:
Также, как предложено выше, чтобы заставить работать код ниже:
\Magento\Framework\App\ProductMetadata
теперь требует, чтобы экземплярComposerJsonFinder
был передан во время создания экземпляра.Пример, который я нашел в
dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php
:Вышеприведенный код предназначен исключительно для информационных целей. Вы должны копать больше, чтобы это работало.
источник
Вы можете запустить команду ниже, чтобы получить версию magento:
источник
Для пользователей Unix, таких как
Нет необходимости писать какой-либо код PHP для этого. Поскольку в Magento 2 используется композитор, все становится проще. Вы можете сделать это двумя способами:
Проверьте composer.json и найдите ключ с именем version. Если вы похожи на меня, кто любит использовать терминал, вы можете сделать что-то вроде в корне проекта.
Возвращает версию M2, если вы хотите проверить версию сообщества или предприятия, а затем просто выполните следующее:
источник
просто проверьте файл composer.json в корне magento2, вы найдете такой текст
источник
composer.json
может содержать ограничение версии, например «^ 2.1», которое не указывает точную версию. Вы должны проверитьcomposer.lock
файл, чтобы увидеть, какая именно версия установлена в данный момент.Попробуй это:
Для версии 2.1:
источник
Вот несколько способов проверить версию Magento
Способ № 1: использовать проверку кода PHP
Проверьте версию Magento 1 Проверьте версию Magento 2Вы можете использовать это в версиях 2.0.x:
Для версии 2.1:
Первый способ, используя DI:
Второй способ, используя ObjectManager напрямую:
Способ № 2: Проверьте версию Magento через командную строку
Вы можете запустить следующую команду, чтобы получить версию Magento 2:
На самом деле, так как Magento 2 использовал свой композитор, так что вам не нужно писать какой-либо код PHP для этого. Вместо этого есть две возможности найти версию Magento 2:
Во-первых, пожалуйста, попробуйте composer.json и найдите ключевое слово version. Если вы предпочитаете использовать терминал, вы можете добавить что-то в корень проекта.
Еще один способ проверить версию Magento 2, если это общедоступная или корпоративная версия, напишите следующее
Используйте веб-сервис для проверки https://www.mageplaza.com/check-magento-version/
источник
Пожалуйста, попробуйте этот инструмент онлайн, он работает для обеих версий magento1.x и magento2.x https://www.talktojobs.com/check-magento-version/
источник