আমি বর্তমান পৃষ্ঠাগুলি হ'ল হোম পেজ, বিভাগ পৃষ্ঠা, পণ্য পৃষ্ঠা এবং ম্যাজেন্টো 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()যা পিটিএইচটিএমএল ফাইলটিতে বিজ্ঞাপন ব্যবহার করে returns
পিটিএইচএমএল ফাইলের ভিতরে থেকে এটি আমার পক্ষে কাজ করেছে:
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());