在magento 2。
如果要获取基本url,则可以尝试以下代码:
/**
* @var \Magento\Store\Model\StoreManagerInterface $this->_storeManager
*/
$this->_storeManager->getStore()->getBaseUrl();
凡$this->_storeManager
实例\Magento\Store\Model\StoreManagerInterface
上面的代码将为您提供结果
https://www.sbboke.com(如果启用了Seo重写)
和 https://www.sbboke.com/index.php(如果未启用Seo重写)
如果您希望基本网址不包含 index.php
$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB)
使用对象管理器
基本网址:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
$storeManager->getStore()->getBaseUrl();
没有index.php的基本网址
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
$storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB);
要获取媒体基本网址:
$this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
获取链接网址:
$this->_storeManager->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_LINK);
编辑
为了获得 $this->_storeManager
您应该依赖注入\Magento\Store\Model\StoreManagerInterface $storeManager
在 __construct( )
功能块类
就像 :
public $_storeManager;
public function __construct(
\Magento\Store\Model\StoreManagerInterface $storeManager,
.....
) {
...
$this->_storeManager=$storeManager;
}
更新:
此外,您还可以得到基本的URL 直接在phtml
使用的直接调用object Manager
。
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
$storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB);
注: Directly call of object manager is not good idea
。如果您想要在phtml的基本网址,则StoreManagerInterface
在块插入