Magento2 获取商店信息

可以获得 Magento 2 店铺的所有信息,包括当前的店铺 ID、店铺代码、店铺名称、店铺 URL、店铺电话号码、店铺电子邮件地址和店铺网站。当你拥有超过一个 Magento 2 店铺的时候,获取这些信息可以帮助你更容易的管理。在本文中,已给出的代码段可以插入到管理控制台中。

获取 Magento 2 商店信息的步骤

  • 第一步:在 Mageplaza_HelloWorld 声明

  • 第二步:在 phtml 文件中获取店铺信息

第一步:在 Mageplaza_HelloWorld 中声明

将使用模块 Mageplaza_HelloWorld 的一个块(block)类,然后可以在模块中的块(block)类的构造函数中注入 StoreManagerInterface 对象。

app/code/Chapagain/HelloWorld/Block/HelloWorld.php

<?php
namespace Mageplaza\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{
    protected $_storeManager;    
    
    public function __construct(
        \Magento\Backend\Block\Template\Context $context,        
        \Magento\Store\Model\StoreManagerInterface $storeManager,        
        array $data = []
    )
    {        
        $this->_storeManager = $storeManager;        
        parent::__construct($context, $data);
    }
    
    /**
     * Get store identifier
     *
     * @return  int
     */
    public function getStoreId()
    {
        return $this->_storeManager->getStore()->getId();
    }
    
    /**
     * Get website identifier
     *
     * @return string|int|null
     */
    public function getWebsiteId()
    {
        return $this->_storeManager->getStore()->getWebsiteId();
    }
    
    /**
     * Get Store code
     *
     * @return string
     */
    public function getStoreCode()
    {
        return $this->_storeManager->getStore()->getCode();
    }
    
    /**
     * Get Store name
     *
     * @return string
     */
    public function getStoreName()
    {
        return $this->_storeManager->getStore()->getName();
    }
    
    /**
     * Get current url for store
     *
     * @param bool|string $fromStore Include/Exclude from_store parameter from URL
     * @return string     
     */
    public function getStoreUrl($fromStore = true)
    {
        return $this->_storeManager->getStore()->getCurrentUrl($fromStore);
    }
    
    /**
     * Check if store is active
     *
     * @return boolean
     */
    public function isStoreActive()
    {
        return $this->_storeManager->getStore()->isActive();
    }
}
?>

第二步:在 phtml 文件中获取店铺信息

使用 .phtml 中的以下脚本,打印店铺信息。

echo $block->getStoreId() . '<br />';
echo $block->getStoreCode() . '<br />';
echo $block->getWebsiteId() . '<br />';
echo $block->getStoreName() . '<br />';
echo $block->getStoreUrl() . '<br />';
echo $block->isStoreActive() . '<br />';

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: