How To Redirect 404 Page When Module is Disable In Magento2 - Magento Source 24

How To Redirect 404 Page When Module is Disable In Magento2


Follow Bellow Steps To Redirect 404 Page When Module is Disable In Magento2


👉 Create a system.xml file in Vendor\Extension\etc\adminhtml\system.xml Folder : 


<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">

  <system>

    <section id="mymodule" sortOrder="150" type="text" showInDefault="1" showInWebsite="1" showInStore="1">

      <label>Mymodule Label</label>

      <tab>mymoduletab</tab>

      <resource>Module_First::mymodule_configuration</resource>

      <group id="general" translate="label" sortOrder="10" type="text" showInDefault="1" showInWebsite="1" showInStore="1">

        <label>General Configuration</label>

        <field id="enable" translate="label" sortOrder="10" type="select" showInDefault="1" showInWebsite="1" showInStore="1">

          <label>Enable</label>

          <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>

        </field>

      </group>

    </section>

  </system>

</config>


👉  Create a Data.php file in Vendor\Extension\Helper\Data.php Folder : 


<?php

namespace Vendor\Extension\Helper;

use Magento\Framework\App\Helper\AbstractHelper;

use Magento\Framework\App\Helper\Context;

use Magento\Store\Model\ScopeInterface;

class Data extends AbstractHelper

{

    protected $context;

    public function __construct(Context $context)

    {

        $this->context = $context;

        parent::__construct($context);

    }

    public function isEnable()

    {

        return $this->scopeConfig->getValue('mymodule/general/enable', ScopeInterface::SCOPE_STORE);

    }

}


👉  You are load helper data method direct using object manager in magento : 


<?php 

$helper = \Magento\Framework\App\ObjectManager::getInstance()->get('Vendor\Extension\Helper\Data'); 

if($helper->isEnable()) {

//WRITE YOUR CODE HERE

}


👉  For Example I a'm Redirect page to 404 Page When Module is Disable In Magento2 : 

In Controller File Put Bellow Provide Code : 


<?php

namespace Vendor\Extension\Controller\Form;

use Vendor\Extension\Helper\Data;

class Index extends \Magento\Framework\App\Action\Action

{

    protected $_pageFactory;

    protected $_forwardFactory;

    protected $_moduleManager;

    protected $_helperData;


    public function __construct(

        \Magento\Framework\App\Action\Context $context,

        \Magento\Framework\View\Result\PageFactory $pageFactory,

        \Magento\Framework\Controller\Result\ForwardFactory $forwardFactory,

        \Magento\Framework\Module\Manager $moduleManager,

        Data $helperData

        

        )

    {

        $this->_pageFactory = $pageFactory;

        $this->_forwardFactory = $forwardFactory;

        $this->_moduleManager = $moduleManager;

        $this->_helperData = $helperData;

        return parent::__construct($context);

    }


    public function execute()

    {

$module_status = $this->_helperData->isEnable();


        if ($module_status){

            return $this->_pageFactory->create();

        } else {

            $resultForward = $this->_forwardFactory->create();

            $resultForward->setController('index');

            $resultForward->forward('defaultNoRoute');

            return $resultForward;

        }

    }




Deepak Kumar Bind

Success is peace of mind, which is a direct result of self-satisfaction in knowing you made the effort to become the best of which you are capable.

Post a Comment

If you liked this post please do not forget to leave a comment. Thanks

Previous Post Next Post