备注 - 关于magento通过url添加到购物车的快捷方法

Magento中可以通过访问Url把产品加入购物车。

1 添加简单产品(Simple Product)

(1) 通过产品id:checkout/cart/add?product=[id]&qty=[qty]

(2) 通过产品sku:$cProd = Mage::getModel(\'catalog/product\'); $id = $cProd->getIdBySku(\"$sku\");

2 添加可配置产品(Configurable Product)

checkout/cart/add?product=[id]&qty=[qty]&super_attribute[attribute_id]=[attribute_id]&super_attribute[attribute_id]=attribute_id

其中attribute_id是产品的super attribute所对应的attribute id

 

(注意:super attribute 和 attribute不同, 在编辑Configurable产品时,在添加简单产品时产品的属性就保存在super attribute表中)。

用于生成添加产品到购物车的url函数:

magento添加随机商品模块

以下代码在magento1.4.1.0中运行没有什么问题。将代码放在产品详细页的任何位置,如view.phtml或者media.phtml中。

<!--for show other product-->

<?php $categories = $_product->getCategoryIds(); ?>

    <?php

        $result = array();

        foreach($categories as $cat_id) {

            $category = Mage::getModel('catalog/category');

            $category->load($cat_id);

            $collection = $category->getProductCollection();

            foreach ($collection as $product) {

                $result[] = $product->getId();

            }

 

        }

    ?>

    <div class="box-others-also-like">

        <ul>

        <?php

        if(sizeof($result) >= 5)

        {

           $ourneed = array_rand($result,5);

           foreach($ourneed as $cc)

            {

             $thisproduct= Mage::getModel('catalog/product')->load($result[$cc]);

             ?>

             <li>

            <a href="<?php echo $thisproduct->getProductUrl(); ?>" title="<?php echo $thisproduct->getName(); ?>" ><img src="<?php echo $this->helper('catalog/image')->init($thisproduct, 'small_image')->resize(200) ?>" width="200" height="200" alt="<?php echo $thisproduct->getName(); ?>" /></a>

            </li>

            <?php } ?>

        <?php

        }else

        {

           foreach($result as $cc)

            {

             $thisproduct= Mage::getModel('catalog/product')->load($cc);

             ?>

 

                <li>

                <a href="<?php echo $thisproduct->getProductUrl(); ?>" title="<?php echo $thisproduct->getName(); ?>" ><img src="<?php echo $this->helper('catalog/image')->init($thisproduct, 'small_image')->resize(200) ?>" width="200" height="200" alt="<?php echo $thisproduct->getName(); ?>" /></a>

                </li>

            <?php

            }

            }

            ?>

        </ul>

    </div>

    <!--for show other product-->