En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

afficher la remise en % dans la fiche produit comme dans Virtuemart 1

Plus d'informations
il y a 7 ans 11 mois #1 par Repitol
Bonjour
migration oblige, je passe de Virtuemart 1.1.9 à Virtuemart 3
hors comme j'ai pu le lire dans tous les forums, désormais Virtuemart affiche le montant de la remise en valeur et plus en pourcentage
Dommage.
Quelqu’un saurait-il comment afficher dans la fiche produit la remise en % à l'aide d'un calcul php ?
On peut trouver le montant HT non remisé et le montant HT remisé dans la base de données
et le calcul non php est : Montant de la remise x 100 / montant initial = montant de la remise en pourcentage

Si quelqu'un sait faire... Merci à lui ou elle.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 11 mois - il y a 7 ans 11 mois #2 par Repitol
J'ai trouvé une solution qui semble parfaitement fonctionner
j'espère qu'elle aidera.
1 : Éditer le fichier default.php se trouvant dans le répertoire
components/com_virtuemart/views/productdetails/tmpl

insérer avant la ligne (environ 173)
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency));
le code suivant :
<?php echo ("Remise : "); ?>
<?php
function calcul_pourcentage($prixremise,$prix,$pourcentage)
{ 
$resultat1 = $prix-$prixremise;
$resultat = ($resultat1/$prix) * $pourcentage;
return round($resultat);
} 
$prixremise = $this->product->prices['salesPrice'];
$prix = $this->product->prices['basePriceWithTax'];
$valeur_pourcentage = 100;
echo calcul_pourcentage($this->product->prices['salesPrice'],$this->product->prices['basePriceWithTax'],$valeur_pourcentage)." %";
?><br/>
2 : uploader ce fichier corrigé dans le répertoire de votre template / html/com_virtuemart/productdetails (ce qui créera un override)
et voilà
le code va calculer le montant en % de votre remise et l'afficher dans la page produit juste avant le prix.

Si vous avez un template qui a déjà son propre override pour la page produit de Virtuemart
repérez la ligne qui affiche le prix du produit et insérez le code juste avant, ou après comme vous voulez.
Dernière édition: il y a 7 ans 11 mois par Repitol.

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 7 ans 11 mois #3 par studio42
En plus simple :
if($this->product->prices['salesPrice'] !== $this->product->prices['basePriceWithTax']) {
	$remise = ($this->product->prices['basePriceWithTax'] / $this->product->prices['salesPrice']) * 100;
	echo 'Remise : '.round($remise).'%';
}

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.