Magento 2: Как получить окончательную цену и первоначальную цену на все виды товаров
Как я могу получить Первоначальную цену и Окончательную цену для приведенных ниже типов продуктов?
- Простой продукт
- Настраиваемый продукт
- Пакетное изделие
- Групповой продукт
Для простого продукта Я могу легко получить цену, используя приведенный ниже код.
$finalPrice = $product->getFinalPrice();
$originalPrice = $product->getPrice();
Но я не могу получить Первоначальную цену и Окончательную цену для Настраиваемого продукта, Комплектный продукт, Группа продукт
Существует ли какой-либо простой способ получить обе цены на все другие виды товаров.
РЕДАКТИРОВАТЬ :
Я получаю цену Первоначальную цену и Окончательную цену настраиваемого продукта, используя приведенный ниже код. и возьмите ссылку из получить-диапазон цен-настраиваемый-продукт-magento-2
$basePrice = $product->getPriceInfo()->getPrice('regular_price');
$regularPrice = $basePrice->getMinRegularAmount()->getValue();
$specialPrice = $product->getFinalPrice();
Любая помощь будет признательна! Спасибо.
1 answers
Вы можете получить Обычную цену и Окончательную цену всех видов товаров, используя приведенный ниже способ.
- Простой продукт
$regularPrice = $product->getPriceInfo()->getPrice('regular_price')->getValue();
$specialPrice = $product->getPriceInfo()->getPrice('special_price')->getValue();
- Настраиваемый продукт
if ($product->getTypeId() == 'configurable') {
$basePrice = $product->getPriceInfo()->getPrice('regular_price');
$regularPrice = $basePrice->getMinRegularAmount()->getValue();
$specialPrice = $product->getFinalPrice();
}
- Пакетное изделие
if ($product->getTypeId() == 'bundle') {
$regularPrice = $product->getPriceInfo()->getPrice('regular_price')->getMinimalPrice()->getValue();
$specialPrice = $product->getPriceInfo()->getPrice('final_price')->getMinimalPrice()->getValue();
}
- Групповой продукт
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 является текущим продуктом.