Круглая Цена Товара В magento 2


Я хочу изменить цену продукта. Например, если цена продукта составляет 13,45 доллара, то он должен отображать 13 долларов, но цена превышает 13,50 доллара, она должна составлять 14 долларов.

Итак, как изменить цену продукта?

Author: Aniket Prajapati, 2019-07-02

3 answers

Сначала вам нужно переопределить Magento\Catalog\Model\Product с помощью di.xml

Путь di.xml: Vendor/Module/etc/di.xml

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  <type name="Magento\Catalog\Model\Product">
    <plugin name="productpricechange" type=" Vendor\Module\Plugin\Product" sortOrder="1" />
  </type>
</config>

Теперь создайте путь к файлу плагина, который должен быть: Vendor/Module/Plugin/Product.php

<?php

namespace Vendor\Module\Plugin;

    class Product
    {
        public function afterGetPrice(\Magento\Catalog\Model\Product $subject, $result)
        {
            return round($result);
        }
    }

Я надеюсь, что это поможет

 2
Author: Muhammad Hasham, 2019-07-02 06:19:24

Круглая функция

<?php
$price = 13.45;
echo(round($price)); //output 13

$price_change = 13.50;
echo(round($price_change)); //output 13
?>
 1
Author: Rk Rathod, 2019-07-02 06:13:22

Во-первых, вам нужно создать di.xml для создания плагина:

/app/code/Vendor/Module/etc/di.xml

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd"> 
<type name="Magento\Directory\Model\Currency">
    <plugin name="vendor_module" type="Vendor\Module\Model\Plugin\Currency" />
</type>

Теперь создайте файл плагина

/app/code/Vendor/Module/Model/Plugin/Currency.php

<?php
namespace Vendor\Module\Model\Plugin;
use Magento\Framework\Exception\InputException;

class Currency
{
    public function aroundConvert($subject, $proceed, $price, $toCurrency = null)
    {
        $price = $proceed($price, $toCurrency);
        // Your logic
        return $price; // It will be affect in price of shipping also.
    }
}

Это будет округление цены в мультивалютных магазинах.

Для справки: нажмите здесь

 1
Author: Rohan Hapani, 2019-07-02 06:38:22