Quiero verificar si es frontal o de fondo.
¿Cómo puedo hacer eso?
Quiero verificar si es frontal o de fondo.
¿Cómo puedo hacer eso?
Respuestas:
Leer más: blog.mageprince.com
Con objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectManager->get('Magento\Framework\App\State');
echo $state->getAreaCode(); //frontend or adminhtml or webapi_rest
Con inyección de dependencia
protected $_state;
public function __construct (
\Magento\Framework\App\State $state
) {
$this->_state = $state;
}
public function getArea()
{
return $this->_state->getAreaCode();
}
Nota: Según los estándares de codificación magento2, no use la instancia del administrador de objetos directamente en los archivos
La gente ya ha respondido la pregunta. Solo lo estoy haciendo mejor.
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;
}
Use el siguiente código
$objectmanager = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectmanager->get('Magento\Framework\App\State');
if($state->getAreaCode() == 'frontend')
//frontend
else
//backend
Pruebe el código a continuación para verificar si está en el área de administración
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();
}