Magento 2 menunjukkan harga normal dengan harga spesial di minicart


9

Saya dapat mengatur harga Normal bersama dengan harga Khusus sambil menempatkan fungsi kustom di file inti

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

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

    return $priceExclTax;
}

Dan memanggil fungsi ini ke file inti, vendor/magento/module-weee/view/frontend/templates/checkout/cart/item/price/sidebar.phtml

Jadi mendapatkan kedua harga dengan benar, tetapi saya ingin menimpanya

vendor/magento/module-weee/Block/Item/Price/Renderer.php blokir pada modul khusus saya.

Saya telah membuat di.xml dengan kode di bawah ini:

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

Dan cukup masukkan getUnitItemPriceExclTax()fungsi itu di blok itu.

masukkan deskripsi gambar di sini

Jawaban:


11

Anda tidak perlu menimpa file Renderer.php di core dan Anda tidak boleh melakukannya di core. Anda bisa mengubah file sidebar.phtml dan mengatur perubahan Anda.

Anda bisa mendapatkan harga dari metode di bawah ini:

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

Setelah mendapatkan perubahan di atas, Anda dapat melakukannya di bawah kode di file templat Anda:

<?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 }   ?>

Saya telah melakukan perubahan pada Magento Versi 2.1.1.


2
di Magento2.1.8 Tidak lagi ditampilkan di sidebar.phtml. Saya melihat dari vendor / magento / module-checkout / view / frontend / layout / checkout_cart_sidebar_item_price_renderers.xml, templatnya adalah vendor / magento / module-checkout / view / frontend / web / template / minicart / item / price.html Sekarang saya lakukan tidak tahu cara mendapatkan harga asal.
user1506075
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.