답변:
더 읽기 : 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();
}