我想检查它是前端还是后端。
我怎样才能做到这一点?
我想检查它是前端还是后端。
我怎样才能做到这一点?
Answers:
阅读更多:blog.mageprince.com
使用objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectManager->get('Magento\Framework\App\State');
echo $state->getAreaCode(); //frontend or adminhtml or webapi_rest
有依赖注入
protected $_state;
public function __construct (
\Magento\Framework\App\State $state
) {
$this->_state = $state;
}
public function getArea()
{
return $this->_state->getAreaCode();
}
注意:根据magento2编码标准,请勿直接在文件中使用对象管理器实例
人们已经回答了这个问题。我只是在做的更好。
const AREA_CODE = \Magento\Framework\App\Area::AREA_ADMINHTML;
private $_state;
public function __construct (
\Magento\Framework\App\State $state
) {
$this->_state = $state;
}
public function isAdmin()
{
$areaCode = $this->_state->getAreaCode();
return $areaCode == self::AREA_CODE;
}
尝试下面的代码检查您是否在管理员区域
function df_is_admin($store = null) {
/** @var \Magento\Framework\ObjectManagerInterface $om */
$om = \Magento\Framework\App\ObjectManager::getInstance();
/** @var \Magento\Framework\App\State $state */
$state = $om->get('Magento\Framework\App\State');
return 'adminhtml' === $state->getAreaCode();
}