Câu trả lời:
Bạn phải tiêm \Magento\Framework\App\ProductMetadataInterface
vào nhà xây dựng của bạn.
protected $productMetadata;
public function __construct(
...
\Magento\Framework\App\ProductMetadataInterface $productMetadata,
...
) {
$this->productMetadata = $productMetadata;
parent::__construct(...);
}
Sau đó, bạn có thể nhận phiên bản Magento hiện tại bằng cách (giả sử ProductMetadataInterface
đối tượng đó được gán cho $productMetadata
trường):
$version = $this->productMetadata->getVersion();
Và phiên bản (Cộng đồng / Doanh nghiệp) bởi:
$edition = $this->productMetadata->getEdition();
Cách 1:
Sử dụng cách tiêu chuẩn Magento để nhận phiên bản trang web của bạn, Sử dụng cách chặn - Mẫu là cách thích hợp để thực hiện bất kỳ chức năng nào trong magento 2,
Tập tin khối bên trong,
<?php
namespace Vendor\Modulename\Block
class Version extends \Magento\Framework\View\Element\Template{
protected $_productMetadata;
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\App\ProductMetadataInterface $productMetadata,
array $data = []
) {
parent::__construct($context,$data);
$this->_productMetadata = $productMetadata;
}
public function getVersion()
{
return $this->_productMetadata->getVersion();
}
}
bên trong template
tập tin,
echo $block->getVersion();
Sử dụng Direct Objectmanager không phải là cách thích hợp để sử dụng trong magento 2,
$objManager = \Magento\Framework\App\ObjectManager::getInstance();
$magentoVersion = $objManager->get('Magento\Framework\App\ProductMetadataInterface');
echo $magentoVersion->getVersion();