How to display product discount percent on product details page in Magento2?

by mageefy on Feb 9, 2023 Celebrities 373 Views

By default, Magento does not provide to show the discount percentage of the product. Discounts have been the most effective tool to beat the competition, attract potential customers, and generate sales. For Magento 2 store owners, it is going to be easy with the solution given below to display percentage discount on the product details page.

First we need to create "catalog_product_prices.xml" at below location using the given code.

app\code\Mageefy\Discountpercentage\view\base\layout\catalog_product_prices.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd">
    <referenceBlock name="render.product.prices">
        <arguments>
            <argument name="default" xsi:type="array">
                <item name="prices" xsi:type="array">
                <item name="final_price" xsi:type="array">
                    <item name="render_class" xsi:type="string">Magento\Catalog\Pricing\Render\FinalPriceBox</item>
                    <item name="render_template" xsi:type="string">Mageefy_Discountpercentage::product/price/final_price.phtml</item>
                </item>
                </item>
            </argument>
        </arguments>
    </referenceBlock>
</layout>

 

And after that create one more file to display the price and discount percentage on the product details page.

app\code\Mageefy\Discountpercentage\view\base\templates\product\price\final_price.phtml

 

<?php
$priceModel = $block->getPriceType('regular_price');
$finalPriceModel = $block->getPriceType('final_price');
$idSuffix = $block->getIdSuffix() ? $block->getIdSuffix() : '';
$schema = ($block->getZone() == 'item_view') ? true : false;
?>
<?php if ($block->hasSpecialPrice()): ?>
 <span class="special-price">
        <?php  echo $block->renderAmount($finalPriceModel->getAmount(), [
            'display_label' => __('Special Price'),
            'price_id'       => $block->getPriceId('product-price-' . $idSuffix),
         'price_type'     => 'finalPrice',
            'include_container' => true,
            'schema' => $schema
     ]); ?>
    </span>
 <span>
 <?php
 $item = $block->getSaleableItem();
    $_savePercent = 100 - round(((float)$item->getFinalPrice() / (float)$item->getPrice()) * 100);
 echo '<b style="color:#008000">'.$_savePercent . '% off </b>';
 ?>
    </span>
 <span class="old-price">
        <?php  echo $block->renderAmount($priceModel->getAmount(), [
         'display_label' => __('Regular Price'),
            'price_id'       => $block->getPriceId('old-price-' . $idSuffix),
            'price_type'     => 'oldPrice',
            'include_container' => true,
            'skip_adjustments'  => true
     ]); ?>
    </span>
<?php else: ?>
    <?php  echo $block->renderAmount($finalPriceModel->getAmount(), [
        'price_id'       => $block->getPriceId('product-price-' . $idSuffix),
        'price_type'     => 'finalPrice',
        'include_container' => true,
     'schema' => $schema
 ]); ?>
<?php endif; ?>
 
<?php if ($block->showMinimalPrice()): ?>
 <?php if ($block->getUseLinkForAsLowAs()):?>
     <a href="<?=  $block->getSaleableItem()->getProductUrl() ?>" class="minimal-price-link">
            <?= $block->renderAmountMinimal() ?>
        </a>
 <?php else:?>
     <span class="minimal-price-link">
            <?=  $block->renderAmountMinimal() ?>
        </span>
 <?php endif?>
<?php endif; ?>

That’s it.

Any doubts in the above solution? Please feel free to mention them in the Comments section below. I’d be glad to help you out.

visit- https://www.mageefy.com/blog/post/how-to-display-product-discount-percent-on-product-details-page-in-magento2

Article source: https://article-realm.com/article/Arts-Entertainment/Celebrities/36891-How-to-display-product-discount-percent-on-product-details-page-in-Magento2.html

Comments

No comments have been left here yet. Be the first who will do it.
Safety

captchaPlease input letters you see on the image.
Click on image to redraw.

Reviews

Guest

Overall Rating:

Most Viewed Articles

Statistics

Members
Members: 17293
Publishing
Articles: 80,064
Categories: 202
Online
Active Users: 81
Members: 0
Guests: 81
Bots: 744
Visits last 24h (live): 6406
Visits last 24h (bots): 35013

Latest Comments

Good to become visiting your weblog again, it has been months for me. Nicely this article that i've been waited for so long. I will need this post to total my assignment in the college, and it has...
What a fantabulous post this has been. Never seen this kind of useful post. I am grateful to you and expect more number of posts like these. Thank you very much. 판타스틱벳  
 I can’t believe focusing long enough to research; much less write this kind of article. You’ve outdone yourself with this material without a doubt. It is one of the greatest contents. 뽀빠이벳  
Wonderful blog! I found it while surfing around on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there!...
Very nice article. I enjoyed reading your post. very nice share. I want to twit this to my followers. Thanks !. 텐텐벳 주소  
Finding your account information is even easier shopping at Target! Sign in securely to Target Red Card Login to see your recent transactions, payments, and card activity.   
on Nov 14, 2026 about How To Succeed At Internet Marketing
This article offers practical advice on moving blankets and accessories. Understanding how plastic wraps and moving straps enhance protection is key. For those tricky moves, like downhill with...
This really resonates! I remember struggling with choppy streams and endless buffering with other services. It's frustrating when you just want to relax and watch something. Finding a reliable...
on Nov 13, 2026 about IPTV PAID AND TRIAL SUBSCRIPTIONS
Digital tools such as secure messaging, symptom trackers, and scheduling systems can improve access and engagement.    <a href="https:// snowrider-2.io/">snowrider</a>
"Thanks for sharing! This really cleared up a lot of questions I had, especially the part about your main points. If anyone is looking for extra details or a step-by-step guide regarding  you can...

Translate To: