“我的订单”表只是来自当前商店视图的订单

时间:2013-03-05 09:02:59

标签: magento

我有一个maganto安装(1.4.0.1),有几个网站和几个商店/商店视图。此外,我在所有商店视图中都有不同的产品。当我去我的帐户时 - >我在表中的订单显示了所有商店的订单。我可以在某个地方配置或在代码中更改某些内容,以便从当前的开放式商店视图中获得订单列表吗?

换句话说,如果我在我的网站mywebsite.com/store2上的商店2 mywebsite.com/store2/sales/order/history/它显示所有网站的订单历史,但我需要我显示订单只是形成“store2”。

我希望有人能回答这个或类似的问题,如果能帮助我,我将不胜感激。

约旦

2 个答案:

答案 0 :(得分:3)

非常简单。

将相应的销售订单历史记录块app \ code \ core \ Mage \ Sales \ Block \ Order \ History.php文件覆盖到本地代码池

并按当前商店ID过滤您的收藏。

             $store_id = Mage::app()->getStore()->getId();
             $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()))
        ->addFieldToFilter('store_id',$store_id)
        ->setOrder('created_at', 'desc')
    ;

请注意上面代码中的这些行

        /*Current Store View ID*/
        $store_id = Mage::app()->getStore()->getId();

        /*Filtering the order collection by current store id*/
        ->addFieldToFilter('store_id',$store_id)

答案 1 :(得分:2)

    /*GetCurrent Website Name*/
    $currentWebsiteName = Mage::app()->getStore()->getWebsite()->getName();        
    $currentWebsiteName_LIKE_PHRASE = '%'.$currentWebsiteName.'%';

    /*Filter the Order Collection by Current Website Name*/
    $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()))
        ->addAttributeToFilter('store_name', array('like' => $currentWebsiteName_LIKE_PHRASE))
        ->setOrder('created_at', 'desc');

   /*Note the Below Line*/
   ->addAttributeToFilter('store_name', array('like' => $currentWebsiteName_LIKE_PHRASE))

按当前网站名称过滤。只需获取 sales_flat_order 表格即可查看此列“ store_name ”,您可以在其中找到还包含网站名称

很遗憾,我无法在此主要订单表或其相关表中找到网站ID,以便为订单集生成 JOIN语句。我认为您可能会有一些带有** _网站后缀**的订单表,如果是这样的话,您可以轻松地将其加入我们现有的收藏品