我想禁用完整的客户信息中心页面,并在登录后将客户重定向到主页。
我不确切知道如何确实这样做,因为我客户的客户数据始终只是来自导入的csv文件。
感谢您的帮助:)
答案 0 :(得分:3)
感谢您的代码,1.7对我来说非常有用
我做的一个小小的补充是添加一条确认消息,以便用户可以看到他们实际登录的正面反馈。
行后:
$this->_redirectUrl($url);
我补充说:
$message = $this->__('You have successfully logged in.');
Mage::getSingleton('core/session')->addSuccess($message);
答案 1 :(得分:1)
在以下位置创建新模块: app / code / local /
创建以下目录和文件:
应用/代码/本地/命名空间/ Modulname的/ etc / config.xml中强>
应用/代码/本地/命名空间/ Modulname /控制器/ 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);
}
}
}
别忘了激活你的新模块:
在以下位置创建新文件: 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中使用的块来从客户仪表板中删除所有元素。
希望这有帮助。
丹尼
答案 2 :(得分:1)
我刚刚实现了这个并且它有效。但是仪表板的其他链接仍然有效。
对于这种情况,我在后端使用了一个url重写集(catalog&gt; url rewrites)
我使用了从customer/account
到sales/order/history
的自定义重定向,以便从信息中心转发到订单概述。不添加额外代码,干净整洁