Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示购物车中相同项目的重复条目_Php_Magento - Fatal编程技术网

Php 显示购物车中相同项目的重复条目

Php 显示购物车中相同项目的重复条目,php,magento,Php,Magento,我正在编写Magento电子商务门户,允许用户购买不同-2尺寸(如:小、大、xl、xxl)的产品,但我面临一个小问题,每当我在购物车中为不同-2尺寸添加相同的商品时,购物车中的所有尺寸都会显示相同的商品图像 例如:商品名称:Killer Jeans,可用尺码:32。36和40宽 现在,每当我点击尺码32时,它会在购物车中显示我的杀手牛仔裤图像,我选择了尺码,再次选择尺码36,它会在购物车中显示我你选择了尺码32和36的杀手牛仔裤,这正是我需要的,但问题是相同的杀手牛仔裤图像显示两次,这是不正确的

我正在编写Magento电子商务门户,允许用户购买不同-2尺寸(如:小、大、xl、xxl)的产品,但我面临一个小问题,每当我在购物车中为不同-2尺寸添加相同的商品时,购物车中的所有尺寸都会显示相同的商品图像

例如:商品名称:Killer Jeans,可用尺码: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>


    我不知道我是否理解正确-但我假设您希望在购物车中仅显示简单产品的一个图像,即使来自同一配置的另一个简单产品添加到购物车中

    如果是-那么imho您应该修改在购物车中显示数据的方式,而不是将产品添加到购物车中的方式。和