Magento 2 自定义产品价格添加购物车

redmaomail 2024-07-24 18:28 阅读数 72 #Magento

红帽云邮外贸主机

通常,即使消费者从前端为所有或某些特定产品选择各种选项/附加产品,店主也准备设置固定的产品定价。我们不需要手动更改所有商店产品,而是需要手动编码以使用您首选的自定义价格覆盖所有商店产品价格。

在本文中,我将指导您在使用 Observe将产品添加到购物车时设置产品的自定义价格。

让我们探讨下面两个简单的步骤!

  • 第 1 步:创建 Events/xml 文件
  • 第 2 步:创建 CustomPrice.php 文件

第 1 步:创建 Events/xml 文件

首先,您需要events/xml在文件夹中创建Webkul/Hello/etc/frontend并使用事件checkout_cart_product_add_after

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="checkout_cart_product_add_after">
        <observer name="customprice" instance="Webkul\Hello\Observer\CustomPrice" />
    </event>
</config>

第 2 步:创建 CustomPrice.php 文件

现在,您必须创建CustomPrice.php覆盖文件夹中价格的文件Observer

<?php

    namespace Webkul\Hello\Observer;
 
    use Magento\Framework\Event\ObserverInterface;
    use Magento\Framework\App\RequestInterface;
 
    class CustomPrice implements ObserverInterface
    {
        public function execute(\Magento\Framework\Event\Observer $observer) {
            $item = $observer->getEvent()->getData('quote_item');         
            $item = ( $item->getParentItem() ? $item->getParentItem() : $item );
            $price = 100; //set your price here
            $item->setCustomPrice($price);
            $item->setOriginalCustomPrice($price);
            $item->getProduct()->setIsSuperMode(true);
        }
 
    }

注意:根据您为一种或多种产品设置自定义价格的需要,您可以通过添加条件来操作。


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机