magento -- 注册用户查看不了自己的订单历史记录

注册用户查看不了自己的订单历史记录?从来没有测试过这方面的功能,直到有客户反应这样的问题.实际上去网站后台一查,无论是客户记录,还是客户的订单付款记录都是存在的,那显然是那个block有问题了.

 

查了一下:

URL:sales/order/history/

 

在magento的模板目录中找出对应的layout:

 

  <sales_order_history translate="label">
        <label>Customer My Account Order History</label>
        <update handle="customer_account"/>
        <reference name="my.account.wrapper">
            <block type="sales/order_history" name="sales.order.history"/>
            <block type="customer/account_dashboard" name="customer.account.link.back" template="customer/account/link/back.phtml"/>
        </reference>
    </sales_order_history>

magento对应的block类

 

class Mage_Sales_Block_Order_History extends Mage_Core_Block_Template
{

    public function __construct()
    {
        parent::__construct();
        $this->setTemplate('sales/order/history.phtml');

        $orders = Mage::getResourceModel('sales/order_collection')
            ->addFieldToSelect('*')
            ->addFieldToFilter('customer_id', Mage::getSingleton('customer/session')->getCustomer()->getId())
            ->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
            ->setOrder('created_at', 'desc')
        ;

        $this->setOrders($orders);

        Mage::app()->getFrontController()->getAction()->getLayout()->getBlock('root')->setHeaderTitle(Mage::helper('sales')->__('My Orders'));
    }

 

显然是被

 ->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
这个过滤了.

 

所以,你可以直接注释掉这行,或者修改:

 

sale模块的config.xml文件:

 

 <states>
                    <new translate="label">
                        <label>New</label>
                        <statuses>
                            <pending default="1"/>
                        </statuses>
                        <visible_on_front/>
                    </new>
                    <pending_payment translate="label">
                        <label>Pending Payment</label>
                        <statuses>
                            <pending_payment default="1"/>
                        </statuses>
                        <visible_on_front/>
                    </pending_payment>
                    <processing translate="label">
                        <label>Processing</label>
                        <statuses>
                            <processing default="1"/>
                        </statuses>
                        <visible_on_front/>
                    </processing>
                    <complete translate="label">
                        <label>Complete</label>
                        <statuses>
                            <complete default="1"/>
                        </statuses>
                        <visible_on_front/>
                    </complete>
                    <closed translate="label">
                        <label>Closed</label>
                        <statuses>
                            <closed default="1"/>
...

...

...

 

参考:

 

http://www.magentocommerce.com/boards/newreply/33396/

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值