最近几天帮朋友Magento做了一个小功能,就是让管理员可以对部分指定的产品免运费,并且免运费的产品在产品列表页面和产品详情页面显示 “Free Shipping”字样。
具体步骤可以分为4步:
1. 给产品添加 free shipping 选项
2. 添加免运费购物车价格规则
3. 运费设置处开启 Free Shipping选项
4. 在产品页面、产品列表页面和购物车页面添加 free shipping文字
1 给产品添加 Free Shipping选项
后台 Catalog > Attributes > Manage Attributes
点击右上角 Add New Attribute
如图填写:
点 击左侧 Manage Label/Options,在 Manage Titles (Size, Color, etc)下的 Admin处 填入“Free Shipping” [注:这个意思是添加一个名为Free Shipping的属性]; 在Manage Options (Values of your attribute)下的 Admin处填入 Yes, default store view处填入 Free Airmail Shipping (此处根据自己情况任意发挥,比如 Free Shipping, Free DHL shipping),点击 Save Attribute保存。如图:
Free Shipping属性创建完成后,将它拖入属性组中,(一般是default,如果你创建了别的属性组,则应该分别拖入相应的属性组中)
Catalog > Attributes > Manage Attribute Sets
点击 default
将 free_shipping_discount属性从右侧未分配属性拖入general下,保存
此时,再打开产品编辑页面,会发现多一个是否选择 free shipping的项目,如图:
第一步完成!
2 添加免运费价格规则
点击 Promotions > Shopping Cart Price Rules
点击右上角 Add New Rule
填写规则名称和描述,设置规则状态为Active,coupon处选No Coupon,uses per customer处填入0表示无限次,如图
左侧选项 跳过 Conditions,点击 Actions,如图设置
保存规则,第二步完成!
3. 运费设置处开启免运费选项
点击 System -> Configuration , 左侧找到并点击 Shipping Methods
点击 Free Shipping并如图设置:
Enabled 选 Yes开启免运费选项
Title 填写 Free Shipping 表示免运费选项
Method Name: 告诉客户具体是哪种免运费的方式 (这个在客户将产品加入购物车后计算运费和选择运输方式时显示)
Minimum Order Amount:填写一个非常大的数字防止本来不免运费的产品因为达到了MOA也显示免运费,建议填写99999或999999
Ship to Applicable countries:全球免运费就选择 All Allowed Countries,如果只想对部分国家免运费则选择 Specific Countries并在Ship to specific countries里面勾选免运费的国家。
点击右上角 Save Config 保存。第三步完成。
4. 在产品页面、产品列表页面和购物车页面添加 free shipping文字
在模板的产品列表文件和产品详情页文件适当的位置添加free shipping文字
产品列表页面一般是 list.phtml或是VIEW.PHTML文件,在合适的位置添加
<?php if ($_product->getFreeShippingDiscount()): ?> <?php echo '<span class="freeShip">'.$_product->getAttributeText('free_shipping_discount').'</span>'; ?> <?php endif; ?>