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

本文介绍如何在Magento中通过URL将简单产品和可配置产品添加到购物车的方法,并提供了一个生成相应URL的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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函数(仅测试用,用于生产环境要小心):

   public function getAddToCartUrl($simpleProductId , $qty=1 ,$configurableProductId=null)
{
if(!$configurableProductId){
return Mage::getBaseUrl().'checkout/cart/add?product='.$simpleProductId.'&qty='.$qty;
}
else{
$url=Mage::getBaseUrl().'checkout/cart/add?product='.$configurableProductId.'&qty='.$qty.'&';
$configurableProduct= Mage::getModel('catalog/product')->load($configurableProductId);
$simpleProduct=Mage::getModel('catalog/product')->load($simpleProductId);
if($simpleProduct && $configurableProduct && $configurableProduct->getId() && $simpleProduct->getId()){
$superAttributes=$this->getAllowAttributes($configurableProduct);
$attributeCodes=array();
foreach($superAttributes as $superAttribute){
$attribute = $superAttribute->getProductAttribute();
$attributeCodes[$attribute->getAttributeId()]= $attribute->getAttributeCode();
}

$superAttributeUrl="";
foreach($attributeCodes as $attributeId=>$attributeCode){
$superAttributeUrl.='super_attribute['.$attributeId.']='. $simpleProduct->getData($attributeCode).'&';
}
}
//print_r($attributeCodes);
$url.=$superAttributeUrl;
return $url;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值