Hello Magento pals
I hope you all had a great weekend. So, Christmas is here, and we are all busy doing preparation for this festival of light and joy.We (MageComp) want to wish you a Merry Christmas in advance and Happy new joyful year 2020?
In Last We have learn How to Create Custom Order Status and State Programmatically in Magento 2, Today We are going to learn how you can restrict visitors to access category pages and redirect them to another page.
Generally, In default Magento2, every visitor or customer can access all the Magento frontend pages like category pages, product pages, etc.
But what if you want to restrict visitors and customers from accessing a particular page? and also, what if you want to restrict some pages and redirect visitors from that page to another page?
That another page can be a customer login or particular cms page.
E.g. : If you want to restrict visitors to access category page and redirect visitors to another page, then with the help of the below code you can achieve that. So let’s get to it.
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Catalog\Model\Category"> <plugin name="category_page_restrict" type="Vendor\Extension\Plugin\Restrictcategory" sortOrder="1"/> </type> </config>
2. Next, Create Restrictcategory.php file inside app\code\Vendor\Extension\Plugin\ folder and add below code:
<?php namespace Vendor\Extension\Plugin; class Restrictcategory { protected $_url; protected $_responseFactory; public function __construct( \Magento\Framework\UrlInterface $url, \Magento\Framework\App\ResponseFactory $responseFactory ) { $this->_url = $url; $this->_responseFactory = $responseFactory; } public function afterGetIsActive(\Magento\Catalog\Model\Category $category) if($category->getData('store_id')==1)//here you change condition as per need { // you can set any redirect url as per your requirement $customRedirectionUrl = $this->_url->getUrl('customer/account/login'); $this->_responseFactory->create()->setRedirect($customRedirectionUrl)->sendResponse(); exit; } } } ?>
So, using the above codes, you can restrict visitors and your customers to access the category pages and redirect them to another page you want.
If you found this article helpful, then give it a thumbs-up and let us know your reviews in the comments below. Also, please share it with your Magento colleagues and friends.
Lastly, if you had any problem while implementing these codes or you need any help, then you can contact our Support team here.
Again, We want to wish you a Merry Christmas and also want to thank you for taking the time to read this article ??
Hello Magento Friends, In today’s blog, I will explain How to Add Tooltip in Checkout…
MongoDB is a popular NoSQL database that offers flexibility and scalability when handling modern web…
In NodeJS, callbacks empower developers to execute asynchronous operations like reading files, handling requests, and…
Hello Magento Friends, In today’s blog, we will learn How to Show SKU in Order…
The "Buy Now" and "Add to Cart" buttons serve as the primary call-to-action (CTA) elements…
Hello Magento Friends, In Magento 2, the checkout process allows customers to choose multiple shipping…