我正在尝试为登录的客户生成过去订购的产品列表。我到目前为止的尝试。
<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>
此代码显示过去的订单商品,但有些内容有误。而且它也没有显示那些可配置产品的产品。请帮忙。提前致谢。
答案 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 } ?>