我为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函数的脚本。
答案 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中,您可以通过以下方式简单地找到版本:
Mage::getVersion();
在Magento 2.0.7之前,您可以从AppInterface
中获取版本,该版本是对\Magento\Framework\AppInterface::VERSION
常量的引用。
echo \Magento\Framework\AppInterface::VERSION;
但是,在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,都将获得正确的版本。