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