2011-10-27 88 views
0

我想禁用完整的客户仪表板页面并在登录后将客户重定向到主页。Magento - 禁用客户仪表板页面

我不知道我该怎么做,肯定是因为我的客户端的客户数据始终只能从导入的csv文件中获取。

感谢您的帮助:)

回答

1

创建一个新的模件:应用程序/代码/本地/

创建下列目录和文件:

应用程序/代码/本地/命名空间/ Modulname/etc/config.xml

app/code/local/Namespace/Modulname/controllers/AccountController.php

写这个在config.xml:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Namespace_Modulname> 
      <version>0.1.0</version> 
     </Namespace_Modulname> 
    </modules> 
    <frontend> 
     <routers> 
      <customer> 
       <use>standard</use> 
       <args> 
        <module>Namespace_Modulname</module> 
        <frontName>customer</frontName> 
       </args> 
      </customer> 
     </routers> 
    </frontend> 
</config> 

写这在AccountController.php:

require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php'; 

class Namespace_Modulname_AccountController extends Mage_Customer_AccountController 
{ 
    public function loginPostAction() 
    { 
     parent::loginPostAction(); 

     if($session->isLoggedIn()) 
     {    
      //redirect after login 
      $url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
      $this->_redirectUrl($url); 
     } 
    } 
} 

不要忘记激活新MODUL:

创建一个新文件in:app/etc/modules/Namespace.xml

和插入:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Namespace_Modulname> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Namespace_ModulName> 
     </modules> 
</config> 

嗯,这是客户区没有完全失活,不过您可以在每次航线现在重定向到客户仪表盘。如果您的网站上没有其他链接到客户仪表板,您也可以通过删除customer.xml中使用的块来从客户仪表板中删除所有元素。

希望这会有所帮助。

Danny

+0

非常感谢danny,我已经添加了这个,因为我有一个没有定义的变量sesion:'$ session = Mage :: getSingleton('customer/session',array('name'= >'frontend'));'它可以工作,但是在订单页面的末尾(订单成功),当我点击订单编号时,我登录在订单页面,左侧列中有complte dashboard链接。页面网址是:“/ sales/order/view/order_id/87 /”。我怎样才能禁用此页面和其他页面,如“地址簿”....谢谢:) – Bizboss

+0

我想你已经自己回答了你的问题。进入'app \ code \ Mage \ Sales \ controllers \ OrderController.php',你会发现'viewAction()'函数。只要像上面覆盖它,添加一个新的路由器** ** config.xml **,创建一个新的** OrderController.php **并重定向到你喜欢的地方。 – tecmec

+0

谢谢,它工作正常 – Bizboss

3

感谢您的代码,在我的工作原理1.7。
其中一个我做的小再者就是增加一个确认信息,从而使用户可以看到积极的反馈,他们已经在实际登录

行后:

$this->_redirectUrl($url); 

我说:

$message = $this->__('You have successfully logged in.'); 
Mage::getSingleton('core/session')->addSuccess($message); 
1

我刚刚实现了这一点,它的工作。但指向仪表板的其他链接仍然有效。

对于这种情况下,我使用的URL重写在后端设置(目录> URL重写)

我为了使用定制的重定向从customer/accountsales/order/history从仪表板的顺序概述转发。很好,很干净,没有添加额外的代码

+0

不错的工作人员;) – Bizboss