VirtueMart Forum

VirtueMart 2 + 3 + 4 => General Questions => Topic started by: jportiyo on February 21, 2013, 21:18:01 PM

Title: show discount percentage
Post by: jportiyo on February 21, 2013, 21:18:01 PM
Hello.
I need to show my discount percentages.
Now shown as follows:

Discount: € XXX

I need:

Discount: XX%

Can anyone help?
thanks
Title: Re: show discount percentage
Post by: jportiyo on February 22, 2013, 02:26:43 AM
Hello. I answered myself. I found the solution in this post:

http://forum.virtuemart.net/index.php?topic=96175.msg364742#msg364742

I have made some changes in some of the code and share it. I'm porgramador.
Simply follow the code and had already substituted the variables "product": "$ this-> product-> prices" within the file: components / com_virtuemart / view / ProductDetails / tmpl / default.php. In my case I alter that file but in my template purchased (http://www.flexiblewebdesign.com). It is also easy to modify in Category view or where you need it.

My modifications.

<?php
if ($this->currency->createPriceDiv('discountAmount','COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT',$this->product->prices))
{
$discount=$this->currency->formatNumber($this->product->prices['discountAmount']);
$pricewithtax $this->currency->formatNumber($this->product->prices['basePriceWithTax']);
$total =($discount 100) / $pricewithtax;
echo "Descuento: ".$total."%";
}
?>



Original Code: Inopia

if ($this->currency->createPriceDiv('discountAmount','COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT',$product->prices))
{
$discount=$this->currency->formatNumber($product->prices['discountAmount']);
$pricewithtax = $this->currency->formatNumber($product->prices['basePriceWithTax']);
$total =($discount * 100) / $pricewithtax;
echo "Descuento: ".$total."%";
}




It works great, the problem is the decimal but I think that's very easy to fix, I do not need to explain.


THANKS YOU VERY MUCH to Inopia and this forum.
Title: Re: show discount percentage
Post by: jportiyo on February 22, 2013, 06:20:24 AM
Again here:

I saw that he had caught some problems.
1. Even without the percentage shown off to "0" (if the checkbox "show off" was enabled on the Admin)
2. I solved the decimals so a little dirty.

Attach the code:


<?php 
if (
$this->currency->createPriceDiv('discountAmount','COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT',$this->product->prices))
{
$discount=$this->currency->formatNumber($this->product->prices['discountAmount']);
$pricewithtax $this->currency->formatNumber($this->product->prices['basePriceWithTax']);
$total =($discount 100) / $pricewithtax;
$total2 explode(".",$total); 
if($total2[0]>){echo "<div class='dto_clase'>Dto: ".$total2[0]."%</div>";}
}
?>



byebye
Title: Re: show discount percentage
Post by: karuppiah on July 30, 2013, 12:31:19 PM
In virtuemart 2.0 We can display discount percentage in two simple steps,

Step 1:
Open,administrator/components/com_virtuemart/helpers/calculationh.php,

Around line 352,you can find this line $prices['discountAmount'] = $this->roundInternal($basePriceWithTax - $salesPrice);

Replace with,$prices['discountAmount'] = $this->roundInternal(($basePriceWithTax - $prices['salesPrice']) * 100 / $basePriceWithTax);

here i am doing simple % calculation so the percentage of product will be shown like this for ex,$20.00

Step2:

In product detailed page or category pages,

To display default discount this code is used, $this->currency->createPriceDiv('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $this->product->prices);

Assign the variable for this code like,

$vars=$this->currency->createPriceDiv('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $this->product->prices);

to remove the currency symbol and decinal points use string replace like below,

$cuur1= str_replace('$(your currency symbol)','',$vars);
echo $cuur2= str_replace('.00','%',$cuur1);

Now the amount will be dsipalyed as percentage.
Title: Re: show discount percentage
Post by: zakgr on August 19, 2013, 18:02:45 PM
Quote from: karuppiah on July 30, 2013, 12:31:19 PM
In virtuemart 2.0 We can display discount percentage in two simple steps,

Step 1:
Open,administrator/components/com_virtuemart/helpers/calculationh.php,

Around line 352,you can find this line $prices['discountAmount'] = $this->roundInternal($basePriceWithTax - $salesPrice);

Replace with,$prices['discountAmount'] = $this->roundInternal(($basePriceWithTax - $prices['salesPrice']) * 100 / $basePriceWithTax);

here i am doing simple % calculation so the percentage of product will be shown like this for ex,$20.00

Step2:

In product detailed page or category pages,

To display default discount this code is used, $this->currency->createPriceDiv('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $this->product->prices);

Assign the variable for this code like,

$vars=$this->currency->createPriceDiv('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $this->product->prices);

to remove the currency symbol and decinal points use string replace like below,

$cuur1= str_replace('$(your currency symbol)','',$vars);
echo $cuur2= str_replace('.00','%',$cuur1);

Now the amount will be dsipalyed as percentage.





Hi in step 1 how you remove the % ?
Title: Re: show discount percentage
Post by: victoria_b on November 03, 2014, 14:17:01 PM
Hello,
I am using Virtuemart to make a pharmacy shop and I am trying to do something similar: I want to show the discount in percentage on every product which has a discount.
If a product does not have a discount, then I want nothing to appear.
As the the template I use is now.. instead of the discount there is a "SALE" label that appears.
So, I want, instead of this label, to show the discount in percentage only if there is one. (please see image)

I would appreciate any help on how to do that and on which *.php file I should change.

Thank you in advance,
Victoria.

NOTE: I am using   -Joomla! 2.5.24, VirtueMart 2.6.10,  Template Reviver

[attachment cleanup by admin]
Title: Re: show discount percentage
Post by: titolin10 on November 13, 2017, 15:40:51 PM
I'm looking for solution also

I use VM 3.2.4


I have created a new topic regarding to this request and I hope it is not a spam.


Thank you for help in advance.
Title: Re: show discount percentage
Post by: eclipsada on December 29, 2017, 18:51:27 PM
Hi,
Could you please give me the link of the new topic?
Have you found out the solution?

Regards,
Title: Re: show discount percentage
Post by: jenkinhill on December 29, 2017, 20:04:35 PM
I think you want http://forum.virtuemart.net/index.php?topic=138851  - found using search.