Как проверить версию Magento во всех версиях, включая Magento1.x и Magento2.x? - PullRequest
0 голосов
/ 11 октября 2018

Я разрабатываю расширение Magento для Magento1.x и Magento2.x.

Я хочу предоставить исходный код для всех версий (Magento1.x, Magento2.x).

Iнужно проверить версию Magento в первой части.

Как проверить?

функция getVersion () {......}

if (getVersion () =="2.0") {}

if (getVersion () == "1.x") {}

if (getVersion () == "2.2") {}

Мне нужен скрипт для функции getVersion.

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

Magento 1

В Magento 1 вы можете просто найти версию по этому адресу:

Mage::getVersion();

Magento 2.0

До Magento 2.0.7Вы можете получить версию от AppInterface, которая является ссылкой на константу \Magento\Framework\AppInterface::VERSION.

echo \Magento\Framework\AppInterface::VERSION;

Magento 2.1

Но после выхода Magento 2.1У вас есть две возможности программно получить версию Magento.

Первая опция - это внедрение зависимостей (DI), путем внедрения \Magento\Framework\App\ProductMetadataInterface в ваш конструктор для получения версии, что-то вроде этого:

protected $productMetadata;

public function __construct (
    ...
    \Magento\Framework\App\ProductMetadataInterface $productMetadata,
    ...
) {
    $this->productMetadata = $productMetadata;
    parent::__construct(...);
}

// Retrieve Magento 2 version
public function getMagentoVersion()
{
    return $this->productMetadata->getVersion();
}

Другой вариант - это ObjectManager, который не рекомендуется Magento

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
echo $productMetadata->getVersion();

Nb хорошо, если вы используете\Magento\Framework\App\ProductMetadata::getVersion(), то, если вы используете 2.0.x или 2.1.x, вы получите правильную версию.

0 голосов
/ 22 октября 2018

В версии 2 Служба поддержки Magento создала URL, чтобы помочь им определить версию вашего магазина: example.com/magento_version.

Версия 1 Magento включаетДиспетчер подключения Magento по следующему URL: example.com/downloader.В нижней части этой страницы показана версия Magento Connect Manager, и мы знаем, что это та же версия, что и для установки Magento.

0 голосов
/ 11 октября 2018

В Magento 1.x перейдите в корневую папку вашей установки magento и введите следующую команду:

echo "Version: $(php -r "require 'app/Mage.php'; echo Mage::getVersion();")"

Это выведет что-то вроде этого:

Version: 1.9.2.3

В magento 2.x перейдите в корневую папку вашей установки magento и наберите:

php bin/magento --version

Это выведет что-то вроде этого:

Magento CLI version 2.2.6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...