系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
介绍:
如今,每个人都在为他们想要的任何产品找到合理的价格。因此,产品折扣在这里起着重要作用。您提供的折扣和优惠越多,您将获得的销售额就越多。因此,以下是我们如何在您的电子商务网站中提供和应用折扣。通常,当客户将产品添加到购物车时,我们会为客户提供一些折扣,但是如果在以编程方式将产品添加到购物车时需要应用该内容怎么办。所以,这是你如何实现这一目标的方法。
假设对于例如:我有一个ID为“1”的产品,并希望在 以编程方式将该产品应用于购物车时应用“HAPPY CODING”优惠券代码。
namespace Vendor\Extension\Controller\Index;
class Addtocart extends \Magento\Framework\App\Action\Action
{
protected $productrepository;
protected $cart;
protected $formKey;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Catalog\Api\ProductRepositoryInterface $productrepository,
\Magento\Checkout\Model\Cart $cart,
\Magento\Framework\Data\Form\FormKey $formKey
)
{
$this->cart = $cart;
$this->productrepository = $productrepository;
$this->formKey = $formKey;
parent::__construct($context);
}
public function execute()
{
try {
$productId = 1;
$qty = 4;
$coupancode = "HAPPYCODING";
$product = $this->productrepository->getById($productId);
$formKey = $this->formKey->getFormKey();
$paramater = array(
'product' => $productId,
'qty' => $qty,
'form_key' => $formKey,
);
$this->cart->addProduct($product, $paramater);
$this->cart->getQuote()->setCouponCode($coupancode);
$this->cart->save();
return true;
} catch (\Exception $e) {
return __($e->getMessage());
}
}
}结语
假设您现在配备了应用优惠券代码,同时务实地将产品添加到Magento 2中的购物车。借助这些代码,您可以直接成功添加折扣,同时以编程方式将产品添加到购物车。因此,使用上面的代码,我们可以轻松应用优惠券代码。您可以根据获取数据的要求自由尝试和自定义这些代码。