我正在写Magento电子商务门户网站,其中我允许用户购买不同尺寸的产品(如:小型,大型,xl,xxl),但我面临一个小问题,每当我为不同的项目添加相同的项目时购物车中有2种尺寸,它也显示了购物车中所有尺寸的相同商品图片。
举个例子:项目名称:杀手牛仔裤,可用尺码:32。36和40宽
现在每当我点击尺寸32时,它会显示我在购物车中的杀手牛仔裤图像,我选择尺码,再次选择尺码36它显示我在购物车中你选择尺寸为32和36的杀手牛仔裤,这正是我需要的,但问题是杀手牛仔裤图像显示两次是不对的。
那可能是什么原因?
请查看以下php脚本:
<?php
$categoryIds = array(17);//category id
$collection = Mage::getModel('catalog/product')
->getCollection()
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToSelect('*')
->addAttributeToFilter('category_id', array('in' => $categoryIds))
?>
<?php $_collectionSize = $collection->count() ?>
<?php // $_columnCount = $this->getColumnCount(); ?>
<?php $i=0; $j=1; foreach ($collection as $product): ?>
<?php if($j>3) break; ?>
<?php if ($i++%3==0): ?>
<ul class="products-grid">
<?php endif ?>
<li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
<a href="<?php echo $product->getProductUrl()?>" title="<?php echo $product->getName()?>">
<img src="<?php echo Mage::helper('catalog/image')->init($product, 'small_image')->resize(197, 167); ?>" alt="<?php echo $product->getName()?>" border="0" />
</a>
<h2 class="product-name"><a href="<?php echo $product->getProductUrl()?>" title="<?php echo $product->getName()?>"><?php echo $product->getName() ?></a></h2>
<div class="price-box">
<?php echo Mage::helper('core')->currency($product->getPrice(),true,false);?>
</div>
<div class="actions">
<?php if($product->isSaleable()): ?>
<button class="button" onclick="setLocation('<?php echo Mage::getUrl('checkout/cart/add/')?>product/<?php echo $product->getId() ?>/')" title="<?php echo $this->__('Buy');?>" type="submit"><span><span><?php echo $this->__('Buy');?></span></span></button>
<?php else: ?>
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>
</div>
</li>
<?php if ($i%$_columnCount==0): ?>
</ul>
<?php endif ?>
<?php $j++ ?>
<?php endforeach ?>
<?php // endif; ?>
</div>
答案 0 :(得分:0)
我不知道我是否理解正确 - 但我认为你想在购物车中只显示一张SIMPLE产品的图片,即使是同一个配置中的另一个SIMPLE产品被添加到购物车中?
如果是 - 那么你应该只修改你在购物车中显示数据的方式,而不是将产品添加到购物车的方式。