Magento 2: Как получить Окончательную цену и Первоначальную цену на все виды продукции

11

Как я могу получить Первоначальную цену и Окончательную цену на указанный ниже тип товара?

  1. Простой продукт
  2. Конфигурируемый продукт
  3. Связать продукт
  4. Групповой продукт

Для простого продукта я могу легко узнать цену, используя код ниже.

$finalPrice = $product->getFinalPrice();
$originalPrice = $product->getPrice();

Но я не могу получить Первоначальную цену и Окончательную цену на Конфигурируемый продукт , Пакетный продукт , Групповой продукт

Есть ли простой способ получить обе цены на все остальные виды товара.


РЕДАКТИРОВАТЬ :

Я получаю цену Исходную цену и Окончательную цену настраиваемого продукта, используя приведенный ниже код. и взять ссылку из get-price-range-configurable-product-magento-2

$basePrice = $product->getPriceInfo()->getPrice('regular_price');

$regularPrice = $basePrice->getMinRegularAmount()->getValue();
$specialPrice = $product->getFinalPrice();

Любая помощь будет оценена! Спасибо.

Чираг Патель
источник
Вы можете получить исходную цену и окончательную цену здесь <? php $ objectManager = \ Magento \ Framework \ App \ ObjectManager :: getInstance (); $ productCollectionFactory = $ objectManager-> get ('\ Magento \ Catalogue \ Model \ ResourceModel \ Product \ CollectionFactory'); $ collection = $ productCollectionFactory-> create (); $ галерею-> addAttributeToSelect ( '*'); $ галерею-> addWebsiteFilter (); $ галерею-> addMinimalPrice (); $ галерею-> addFinalPrice (); $ галерею-> addStoreFilter (); $ галерею-> setVisibility ($ objectManager-> Get ( '\ Magento \ Каталог \ модели \ продукта \ Видимость') -> getVisibleInSiteIds ()); ?> <? php foreach ($ collecti
Ракеш Донга
Вы проверили этот код? Работает? Это не работает для меня.
Чираг Патель
да, этот код работает для меня
Ракеш Донга
$_product->getSpecialPrice();у меня не работает
Чираг Патель
if($orgprice > $specialprice){ echo $_product->getSpecialPrice(); }
Ракеш Донга

Ответы:

21

Вы можете получить Обычную цену и Окончательную цену на все виды продукции, используя нижеуказанный способ.

  1. Простой продукт
$regularPrice = $product->getPriceInfo()->getPrice('regular_price')->getValue();
$specialPrice = $product->getPriceInfo()->getPrice('special_price')->getValue();
  1. Конфигурируемый продукт
if ($product->getTypeId() == 'configurable') {
      $basePrice = $product->getPriceInfo()->getPrice('regular_price');

      $regularPrice = $basePrice->getMinRegularAmount()->getValue();
      $specialPrice = $product->getFinalPrice();
}
  1. Связать продукт
if ($product->getTypeId() == 'bundle') {
      $regularPrice = $product->getPriceInfo()->getPrice('regular_price')->getMinimalPrice()->getValue();
      $specialPrice = $product->getPriceInfo()->getPrice('final_price')->getMinimalPrice()->getValue();            
}
  1. Групповой продукт
if ($product->getTypeId() == 'grouped') {
      $usedProds = $product->getTypeInstance(true)->getAssociatedProducts($product);            
      foreach ($usedProds as $child) {
          if ($child->getId() != $product->getId()) {
                $regularPrice += $child->getPrice();
                $specialPrice += $child->getFinalPrice();
          }
      }
}

Примечание. В приведенном выше примере $ product является текущим продуктом.

Чираг Патель
источник