আমি একটি পণ্য ছাড় মডিউল উপর কাজ। আমি এটি প্লাগইন এবং পর্যবেক্ষকের মাধ্যমে করেছি। এটি পণ্যের পৃষ্ঠা এবং তালিকার পৃষ্ঠায় কাজ করছে। তবে দাম ফিল্টার আপডেট হওয়া পণ্যের দাম অনুযায়ী কাজ করছে না।
আমার কোডটি যা আমি দামটি কাস্টমাইজ করতে ব্যবহার করছি।
VendorName / moduleName জন্য / etc / di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Catalog\Pricing\Price\FinalPrice">
<plugin name="custom_discount_catalog_pricing_price_finalprice" type="VendorName\ModuleName\Plugin\FinalPrice" />
</type>
</config>
VendorName / moduleName জন্য / etc / events.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<event name='catalog_product_get_final_price'>
<observer name='customdiscount_finalprice' instance='VendorName\ModuleName\Observer\ProcessFinalPrice'/>
</event>
</config>
VendorName / moduleName / অবজারভার / ProcessFinalPrice.php
<?php
namespace VendorName\ModuleName\Observer;
use Magento\Framework\Event\ObserverInterface;
class ProcessFinalPrice implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$old = $product->getData('final_price');
$discountedPrice = $old - ($old * 0.20);
$product->setData('final_price',$discountedPrice);
}
}
VendorName / moduleName / প্লাগইন / FinalPrice.php
<?php
namespace VendorName\ModuleName\Plugin;
class FinalPrice
{
public function afterGetValue(\Magento\Catalog\Pricing\Price\FinalPrice $subject, $result)
{
$discountedPrice = $result - ($result * 0.20);
return $discountedPrice;
}
}
দ্রষ্টব্য: ছাড়মূল্যটি গ্রাহক স্তরে রয়েছে