Magento 2: Cara mendapatkan harga Final & Harga asli semua jenis produk

11

Bagaimana saya bisa mendapatkan harga asli dan harga akhir dari produk tipe di bawah ini?

  1. Produk sederhana
  2. Produk yang dapat dikonfigurasi
  3. Bundel produk
  4. Produk grup

Untuk produk sederhana saya bisa mendapatkan harga dengan mudah menggunakan kode di bawah ini.

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

Tetapi saya tidak bisa mendapatkan harga Asli dan harga Final untuk produk yang dapat Dikonfigurasi , produk Bundle , produk Grup

Apakah ada cara mudah untuk mendapatkan kedua harga dari semua jenis produk lainnya.


EDIT:

Saya mendapatkan harga Harga asli dan harga akhir dari produk yang dapat dikonfigurasi menggunakan kode di bawah ini. dan ambil referensi dari get-price-range -onfigurable-product-magento-2

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

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

Bantuan apa pun akan dihargai! Terima kasih.

Chirag Patel
sumber
Anda bisa mendapatkan harga asli dan harga akhir di sini <? php $ objectManager = \ Magento \ Framework \ App \ ObjectManager :: getInstance (); $ productCollectionFactory = $ objectManager-> get ('\ Magento \ Catalog \ Model \ ResourceModel \ Product \ CollectionFactory'); $ collection = $ productCollectionFactory-> create (); $ collection-> addAttributeToSelect ('*'); $ collection-> addWebsiteFilter (); $ collection-> addMinimalPrice (); $ collection-> addFinalPrice (); $ collection-> addStoreFilter (); $ collection-> setVisibility ($ objectManager-> get ('\ Magento \ Catalog \ Model \ Product \ Visibility') -> getVisibleInSiteIds ()); ?> <? php foreach ($ collecti
Rakesh Donga
Sudahkah Anda memeriksa kode ini? apakah ini bekerja Itu tidak bekerja untuk saya.
Chirag Patel
ya kode ini bekerja untuk saya
Rakesh Donga
$_product->getSpecialPrice();tidak bekerja untuk saya
Chirag Patel
if($orgprice > $specialprice){ echo $_product->getSpecialPrice(); }
Rakesh Donga

Jawaban:

21

Anda bisa mendapatkan harga Reguler dan harga Final semua jenis produk menggunakan cara di bawah ini.

  1. Produk Sederhana
$regularPrice = $product->getPriceInfo()->getPrice('regular_price')->getValue();
$specialPrice = $product->getPriceInfo()->getPrice('special_price')->getValue();
  1. Produk yang dapat dikonfigurasi
if ($product->getTypeId() == 'configurable') {
      $basePrice = $product->getPriceInfo()->getPrice('regular_price');

      $regularPrice = $basePrice->getMinRegularAmount()->getValue();
      $specialPrice = $product->getFinalPrice();
}
  1. Bundel produk
if ($product->getTypeId() == 'bundle') {
      $regularPrice = $product->getPriceInfo()->getPrice('regular_price')->getMinimalPrice()->getValue();
      $specialPrice = $product->getPriceInfo()->getPrice('final_price')->getMinimalPrice()->getValue();            
}
  1. Produk grup
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();
          }
      }
}

Catatan: Dalam contoh di atas $ produk adalah produk saat ini.

Chirag Patel
sumber