magento:登录客户的过去订单列表

时间:2014-07-24 12:59:42

标签: magento sales configurable-product

我正在尝试为登录的客户生成过去订购的产品列表。我到目前为止的尝试。

<ul>
<?php 
    $OrderProducts = 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');       

                foreach($OrderProducts as $ord){            

                    $o=Mage::getModel('sales/order')->load($ord->getId());  
                    $items = $o->getAllItems(); ?>


                    <?php foreach($items as $p){
                          $p= Mage::getModel('catalog/product')->load($p->getId());
                          ?>                         
                        <li>
                         <a href="<?php echo $p->getProductUrl()?>"><img class="recently-img" src="<?php echo $this->helper('catalog/image')->init($p, 'small_image')->keepFrame(false) ->keepAspectRatio(true)->resize(140) ?>" /></a>
                       </li>        

          <?php }} ?>
</ul>

此代码显示过去的订单商品,但有些内容有误。而且它也没有显示那些可配置产品的产品。请帮忙。提前致谢。

2 个答案:

答案 0 :(得分:1)

如果我没记错的话,'sales / order_collection'不会记录复合产品类型(捆绑/可配置)。它只记录儿童产品,当你想到它时会产生感官(库存方面)。

如此简短的回答是你无法获得可配置的产品。 如果你描述了“内容错误”(你期望与输出的内容有什么关系)的意思,我可以提供帮助。

答案 1 :(得分:0)

如果您只想获得可配置的产品。你必须在打印之前检查一下

 if($p['type_id'] == 'configurable') { ?>                         
     <li>
          <a href="<?php echo $p->getProductUrl()?>"><img class="recently-img" src="<?php echo $this->helper('catalog/image')->init($p, 'small_image')->keepFrame(false) ->keepAspectRatio(true)->resize(140) ?>" /></a>
     </li>  
 <?php } ?>