Magento 2 minicart'ta özel fiyat ile normal fiyatı göster


9

Çekirdek dosyada özel işlev koyarken Özel fiyat ile birlikte Normal fiyatı ayarlayabilirim

vendor/magento/module-weee/Block/Item/Price/Renderer.php

public function getUnitItemPriceExclTax()
{
    $priceExclTax = $this->getItem()->getProduct()->getPrice();

    return $priceExclTax;
}

Ve bu işlevi çekirdek dosyaya çağırmak, vendor/magento/module-weee/view/frontend/templates/checkout/cart/item/price/sidebar.phtml

Bu yüzden her iki fiyatı da doğru bir şekilde almak, ancak bunu geçersiz kılmak istiyorum

vendor/magento/module-weee/Block/Item/Price/Renderer.php özel modülümde engelle.

Aşağıdaki kod ile di.xml oluşturduk:

<preference for="Magento\Weee\Block\Item\Price\Renderer" type="<namespace\<module_name>\Block\Item\Price\Renderer"/>

Ve o getUnitItemPriceExclTax()işlevi o bloğa koyun .

resim açıklamasını buraya girin

Yanıtlar:


11

Çekirdekte Renderer.php dosyasını geçersiz kılmanıza gerek yoktur ve asla çekirdeği yapmamalısınız. Sadece sidebar.phtml dosyasındaki değişiklikleri yapabilir ve değişikliklerinizi ayarlayabilirsiniz.

Aşağıdaki yöntemden fiyat alabilirsiniz:

$finalPrice = $item->getProduct()->getFinalPrice();
$normalPrice = $item->getProduct()->getPrice();

Yukarıdaki değişiklikleri aldıktan sonra bunu şablon dosyanızdaki kodun altında yapabilirsiniz:

<?php if ($block->displayPriceWithWeeeDetails()): ?>
        <span class="minicart-tax-total">
    <?php else: ?>
        <span class="minicart-price">
    <?php endif; ?>
        <?php /* @escapeNotVerified */ echo $block->formatPrice($block->getUnitDisplayPriceExclTax()); ?> 
        </span>

    <?php if($normalPrice != $finalPrice){ ?>
    <span class="minicart-old-price">
            <?php /* @escapeNotVerified */ echo $block->formatPrice($normalPrice); ?>
    </span>
    <?php }   ?>

Magento Sürüm 2.1.1'de değişiklikler yaptım.


2
2.1.8 Artık sidebar.phtml dosyasında oluşturulmaz. Bayi / magento / modül-ödeme / görünüm / ön uç / düzen / checkout_cart_sidebar_item_price_renderers.xml'den görüyorum, şablon satıcı / magento / modül-ödeme / görünüm / ön uç / web / şablon / minicart / item / price.html Şimdi yapıyorum kökeni fiyat almak için nasıl bilmiyorum.
user1506075
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.