magento促销方案之 - 购物车内点击赠送礼品

 

今天做了关于magento的另外一种促销方案
:在购物车根据客户购买商品数量赠送等数价格为0的小礼品。

希望目标
:在购物车页面左下角块中显示后台设置的赠品专区里的设定数量的商品,当用户点击某款赠品时,即添加到购物车。(根据用户购买商品数可选等量的赠品)

实现

1,在后台建立一个专门存放价格为0的赠品的目录A。另外,将目录的General Information的Is Active属性设为NO,这样在前台商品目录就不会显示这个赠品目录,但在购物车那边客户读取这个目录的产品。

2,然后向目录A添加几个测试商品a1,a2,a3...,注意在Product Information
把Inventory里的Qty设为大于0、价格设为0、
Stock Availability选项选为In Stock、Websites里的站也要勾上,这样赠品添加完毕。

3,代码修改

a文件: /app/design/frontend/default/beautyard/template/checkout/cart.phtml

头部加上:<script>var x = 0,y=0;</script>

b文件: /app/design/frontend/default/beautyard/template/checkout/cart/crosssell.phtml

也是在头部加上():
<?php
$cartNumbers    = Mage::helper('checkout/cart')->getCart()->getSummaryQty();
$maxGift    = 3;    //控制要显示的赠品数
$categoryIds    = 726;    //网站赠品目录的id
$_productCollection = Mage::getResourceModel('reports/product_collection')
        ->addAttributeToSelect('*')    ->addAttributeToFilter('category_ids',array('finset'=>$categoryIds));
$category     = Mage::getModel('catalog/category');
$category->load($categoryIds);
$collection     = $category->getProductCollection();
foreach ($collection as $product) {
    $result[]     = $product->getId();
}
?>
<div id="cartGift" name="cartGift" class="box-others-also-like">
<ul>
<?php
if(count($result)>$maxGift){
    $ourneed = array_rand($result,$maxGift);
    foreach($ourneed as $cc){
    $thisproduct= Mage::getModel('catalog/product')->load($result[$cc]);
?>
    <li>
    <a href="/checkout/cart/add?product=<?php echo $result[$cc]; ?>&qty=1" title="<?php echo $thisproduct->getName(); ?>" ><?php echo $thisproduct->getName(); ?></a>
    </li>
<?php
    }
} ?>
</ul>
</div>
<div id="cartGiftTips" name="cartGiftTips">choose over</div>
<script>(x<=y)?($('cartGift').hide()&&$('cartGiftTips').show()):($('cartGift').show()&&$('cartGiftTips').hide())</script>

c文件:/app/design/frontend/default/beautyard/template/checkout/cart/item/default.phtml

160行左右加上:
<?php if($_item->getCalculationPrice()>0):?>
    <script>x+=<?php echo $this->getQty();?>;</script>
<?php else: ?>
    <script>y+=<?php echo $this->getQty();?>;</script>
<?php endif; ?>
接着更改之后的td:
    <td class="a-center">
        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo $this->__('Qty') ?>" class="input-text qty" maxlength="12"<?php if($_item->getCalculationPrice()==0):?>readonly<?php endif; ?>
/>
    </td>

OK!到此关于magento购物车赠品促功能完毕!

女人的安全感

钱和安全
套一样,

能给女人
带来充分安全
感,

绝缘于各种伤害。

钱和安全
套都能让女人
更快乐。

钱和安全
套一样,

都是考验男人
的试金石。

当然,

钱和安全
套不是越
越好。

安全
套太

影响你的快感。

钱太

有时影响你的判断。

所以,男人
啊,

赚好钱和安全
套,

爱情
也许只是副赠品