मैं चाहता हूँ कि वर्तमान पृष्ठ की जाँच करें पृष्ठ होम पेज, श्रेणी पृष्ठ, उत्पाद पृष्ठ और पत्रिका 2 में सेमी पृष्ठ है
मैं चाहता हूँ कि वर्तमान पृष्ठ की जाँच करें पृष्ठ होम पेज, श्रेणी पृष्ठ, उत्पाद पृष्ठ और पत्रिका 2 में सेमी पृष्ठ है
जवाबों:
आप यह कोशिश कर सकते हैं: \Magento\Framework\App\Request\Httpअपने वर्ग के निर्माता में एक उदाहरण को इंजेक्ट करें। यदि आप किसी कंट्रोलर में हैं तो आपको ऐसा करने की आवश्यकता नहीं है। आप इसे पहले से ही इस तरह एक्सेस कर सकते हैं$request = $this->getRequest()
public function __construct(
...
\Magento\Framework\App\Request\Http $request
) {
...
$this->_request = $request;
}
तब आप जांच सकते हैं कि क्या मुखपृष्ठ इस तरह है:
if ($this->_request->getFullActionName() == 'cms_index_index') {
//you are on the homepage
}
if ($this->_request->getFullActionName() == 'catalog_product_view') {
//you are on the product page
}
if ($this->_request->getFullActionName() == 'catalog_category_view') {
//you are on the category page
}
$this->_request->getFullActionName()विज्ञापन को वापस phtml फ़ाइल में उपयोग करें।
अंदर phtml फ़ाइल से यह मेरे लिए काम किया:
if ($this->getRequest()->getFullActionName() == 'cms_index_index') {
//you are on the homepage
}
if ($this->getRequest()->getFullActionName() == 'catalog_product_view') {
//you are on the product page
}
if ($this->getRequest()->getFullActionName() == 'catalog_category_view') {
//you are on the category page
}
इसको आजमाओ:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$request = $objectManager->get('Magento\Framework\App\Action\Context')->getRequest();
if ($request->getFullActionName() == 'cms_index_index') {
// is homepage
}
डिजाइन पैटर्न के कारण निर्भरता इंजेक्शन। आप मांग पर संसाधन का अनुरोध करने के लिए एक मॉड्यूल बनाते हैं। ऑब्जेक्ट मैनेजर उस प्रतिमान के खिलाफ जा रहा है। हालाँकि, यह बहुत अच्छा काम करता है, लेकिन फिर से Mage का उपयोग करना पसंद है - धीमा।
कोड के नीचे आज़माएं:
protected $_logo;
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Theme\Block\Html\Header\Logo $logo,
array $data = []
)
{
$this->_logo = $logo;
parent::__construct($context, $data);
}
public function isHomePage()
{
return $this->_logo->isHomePage();
}
ऑब्जेक्ट मैनेजर का उपयोग करना
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$logo = $objectManager->get('Magento\Theme\Block\Html\Header\Logo');
var_dump($logo->isHomePage());