मैं जांच करना चाहता हूं कि यह सामने है या बैकएंड।
मैं उसे कैसे कर सकता हूँ?
मैं जांच करना चाहता हूं कि यह सामने है या बैकएंड।
मैं उसे कैसे कर सकता हूँ?
जवाबों:
और पढ़ें: blog.mageprince.com
ऑब्जेक्ट मैनजर के साथ
$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;
}
नीचे दिए गए कोड का उपयोग करें
$objectmanager = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectmanager->get('Magento\Framework\App\State');
if($state->getAreaCode() == 'frontend')
//frontend
else
//backend
यदि आप व्यवस्थापक क्षेत्र में हैं, तो जांच के लिए नीचे दिए गए कोड को आज़माएं
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();
}