magento 屏蔽某个模块的访问(以customer为例)

 最近做了项目,客户要求前端不允许看见customer模块的相关内容,在后台system->configuration->advance,关闭customer模块,但是地址栏输入`www.xample.com/customer/account`,页面跳转出现异常,为了避免这种情况,就要对url的访问进行限制,当访问该模块的相干内容时,跳转到404的错误页面。

1、新建一个模块Silk_Xcustomer:

 ---etc
   ---modules
     ---Silk_Xcustomer.xml

2、在code/local下:

Silk
 ---Xcustomer
  ---etc
  ---controllers  

3、config.xml文件中写入代码:




    
        0.1.0
    

/*重写前台controllers,如果是重写后台controllers,这里应该写为admin*/
    
        
            standard
            
                Silk_Xcustomer
                xcustomer
            
        
        /*被重写控制器所在的模块的NameSpace*/
          /*这个是customer在Mage下面的命名NameSpace*/
            
            
                
                
            
         
            standard
            
                
                    Silk_Xcustomer/*重写customer下AccountController*/
                
            
        
     
    

4、在controllers下新建AccountController.php

getResponse()->setHeader('HTTP/1.1','404 Not Found');
        $this->getResponse()->setHeader('Status','404 File not found');

        $this->loadLayout();
        $this->renderLayout();
    }

    /*屏蔽customer登录相关页面,这里屏蔽这一个页面就可以了,其他相关页面需要用户的登录才能访问*/
    public function loginAction()
    {
        /*获取404页面的Id*/
        $pageId = Mage::getStoreConfig(Mage_Cms_Helper_Page::XML_PATH_NO_ROUTE_PAGE);
        if (!Mage::helper('cms/page')->renderPage($this, $pageId)) {
            $this->_forward('defaultNoRoute');
        }
    }

    /*屏蔽customer注册相关页面*/
    public function createAction()
    {
        $this->_forward('login');
    }

}

5、当在浏览器中输入www.xample.com/customer/account时,页面就会自动的跳转到404页面

你可能感兴趣的:(url,magento)