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.
Hello,
I wanted to apply this solution to a site that I'm testing, but unfortunately the version I'm using (2.0.24 VM) has changed a bit 'file structure that you described.
You may update this solution to the new version?