如何检查所有版本的Magento版本,包括Magento1.x和Magento2.x?

时间:2018-10-11 11:55:24

标签: php magento magento2

我为Magento1.x和Magento2.x开发了Magento扩展。

我想提供所有版本的源代码(Magento1.x,Magento2.x)。

我需要在第一部分中检查Magento版本。

如何检查?

function getVersion(){     ...... }

if(getVersion()==“ 2.0”){ }

if(getVersion()==“ 1.x”){ }

if(getVersion()==“ 2.2”){ }

我需要getVersion函数的脚本。

3 个答案:

答案 0 :(得分:1)

在版本2 中,Magento支持人员创建了一个URL,以帮助他们确定商店的版本:example.com/magento_version。

Magento的

版本1 在以下URL上包含一个Magento Connect管理器:example.com/downloader。 在此页面的页脚中,显示了Magento Connect Manager版本,我们知道它与Magento安装版本相同。

答案 1 :(得分:0)

在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

答案 2 :(得分:0)

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();

注意,如果您使用\Magento\Framework\App\ProductMetadata::getVersion()函数,则无论您使用的是2.0.x还是2.1.x,都将获得正确的版本。