Virtuemart: flèches quantité ne fonctionnent pas

43942 vues
23 octobre 2011
Raphaëlle
virtuemart

 

VirtueMart est une extension open-source de Joomla qui permet de créer et de gérer un site e-commerce. Il permet aux utilisateurs de vendre des produits physiques et numériques en ligne, de gérer les commandes, les livraisons et les paiements.

VirtueMart propose une interface de gestion conviviale pour la création, l'édition et la suppression de produits, de catégories, de devises et de méthodes de paiement. Il offre également des fonctionnalités avancées telles que la gestion des stocks, des remises et des codes promotionnels, la personnalisation de la présentation des produits et des variantes, et la possibilité de gérer plusieurs magasins à partir d'une seule installation.

VirtueMart propose une large gamme d'extensions et de plugins pour ajouter des fonctionnalités supplémentaires, telles que la gestion des factures, des réservations de produits, des paiements récurrents ou la gestion de la TVA.

VirtueMart est compatible avec de nombreuses passerelles de paiement et méthodes de livraison, et peut être facilement intégré avec des services tiers tels que PayPal, Stripe, UPS ou FedEx.

VirtueMart est régulièrement mis à jour pour assurer la compatibilité avec les dernières versions de Joomla et pour corriger les problèmes de sécurité et de compatibilité. Il est également disponible en plusieurs langues et dispose d'une communauté active d'utilisateurs et de développeurs pour offrir un support et des ressources supplémentaires.

Beaucoup de personnes rencontrent ce problème avec cette solution e-commerce pour Joomla!: dans la fiche produit les flèches quantité ne fonctionnent plus, alors qu’elles fonctionnent lors du listing des produits par catégorie.

Pour ceux qui auront regarder attentivement, l’erreur javascript est la suivante: this.parentNode.elements is undefined

 

Il faut en fait modifier le fichier www/components/com_virtuemart/theme_choisi/templates/product_details/includes/quantity_box_general.tpl.php, chercher ces lignes:


input type= "button" onclick= "var qty_el = this.parentNode.elements[\'quantity[]\’]; var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" />
input type="button" onclick= "var qty_el = this.parentNode.elements[\'quantity[]\’]; var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value–;return false;" />

(l46,47 normalement) et les remplacer par:

input type= "button" onclick= "var qty_el = document.getElementById(\’quantity’.$prod_id.’\'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false; " />
input type="button"  onclick= "var qty_el = document.getElementById(\’quantity’.$prod_id.’\'); var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value–;return false; " />

(Réponse trouvée sur http://forum.joomla.fr/archive/index.php/t-151585.html?s=aff15f0e7f5d957fc51c53a5538fafeb)