Mauvais affichage du prix d'un article avec plusieurs options

6 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour

Voilà un exemple de produit que je propose :

Numérisation de négatifs photos en bobines APS - Prix de base 6 euros

première option :

sortie/découpe du négatif du rouleau :

Si oui, surcout de 3euros

Si non, pas de surcout.

2ème option

longueur de la bobine

15 poses : surcout de 0 euros

25 poses : surcout de 3 euros

40 poses : surcout de 8 euros

Si le client choisit oui à la première option, le prix qui s'affiche passe bien à 9euros.

Or, après, s'il choisit pour la 2ème option, 25poses (+3euros) ou 40 poses (+8euros), le prix affiché ne change pas et reste à 9euros...

Par contre, s'il clique pour ajoutter au panier, là le prix des options est bien affiché dans le panier.

Donc en résumé

Quand il y a 2 options payantes à choisir successivement dans le front office pour 1 produit, le 2ème attribut n'est pas prix en compte dans l'affichage du prix en temps réel dans le front office alors qu'il est pris en compte dans l'ajout au panier.

Une solution SVP ??

merci à vous

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Y a t'il un message d'erreur javascript sur la page lorsque vous sélectionnez le deuxième attribut ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

non, aucun message d'erreur...

Si je désactive le premier attribut, alors le 2ème fonctionne et le prix s'incrémente tout seul. Ce n'est donc pas un problème de configuration d'option dans le backoffice...

Actuellement sur le site, j'ai remis les 2 options au cas ou vous voudriez jeter un coup d'oeil..

accès direct :

http://www.jl-transf...tails.php?id=47

merci pour votre soutien !!

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Les prix des combinaisons possibles sont générés dans un tableau javascript. Dans le code source, ont trouve :

attribut_price["15|35-14|34"] = '6,00 € TTC';

attribut_price["15|35-14|33"] = '6,00 € TTC';

attribut_price["15|35-14|32"] = '6,00 € TTC';

attribut_price["15|36-14|34"] = '9,00 € TTC';

attribut_price["15|36-14|33"] = '9,00 € TTC';

attribut_price["15|36-14|32"] = '9,00 € TTC';

Le prix du produit est mis à jour en fonction de la combinaison des attributs sélectionnés. Il y visiblement un problème dans le calcul de prix des différentes combinaisons.

Par exemple la ligne attribut_price["15|36-14|32"] = '9,00 € TTC'; correspond à la seléction de l'attribut Rouleaux de 40 Poses : +8,00 € TTC et Oui : +3,00 € TTC, on devrait donc trouver 17€.

Ce tableau est généré par le code ci dessous (modules\attributs\fonctions.php, ligne 257)


foreach ($option_value_array as $optionValue) {
$product_object->set_configuration(null, null, $optionValue, is_reseller_module_active() && is_reseller());
$output .= '
attribut_price' . ($save_suffix_id) . '["' . $optionValue . '"] = \'' . filtre_javascript($product_object->get_final_price(get_current_user_promotion_percentage(), display_prices_with_taxes_active(), is_reseller_module_active() && is_reseller(), true, true, 1, true, true, true), true, true, false) . '\';';
}

[/CODE]

=> Avez-vous le même code ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour !

$attributs_infos_array_keys = array_keys($attributs_infos_array);

$option_value_array = build_option_value_array($attributs_infos_array, array(), $attributs_infos_array_keys, 0);

foreach ($option_value_array as $optionValue) {

$product_object->set_configuration(null, null, $optionValue, is_reseller_module_active() && is_reseller());

$output .= '

attribut_price' . ($save_suffix_id) . '["' . $optionValue . '"] = \'' . filtre_javascript($product_object->get_final_price(get_current_user_promotion_percentage(), display_prices_with_taxes_active(), is_reseller_module_active() && is_reseller(), true, true, 1, true, true, true), true, true, false) . '\';';

}

oui, le même code...

mais je pense à un truc...

cela ne viendrait pas de la modif que vous m'aviez faite pour affichet "à partir de" sur les produits à attributs ?

fichier /lib/class/product.php :

function affiche_prix :

function affiche_prix($with_taxes = true, $reseller_mode = false, $return_mode = false, $display_with_measurement = false, $item_id = null, $display_ecotax = true, $display_old_price = true, $table_css_class = 'full_expand_in_container', $display_old_price_inline = true)

{ if($this->has_attributs() !== false) {

$texte = APARTIRDE ;

} else {

$texte = ''; }

$output = $texte.affiche_prix($this, $with_taxes, $reseller_mode, $return_mode, $display_with_measurement, $item_id, $display_ecotax, $display_old_price, $table_css_class, $display_old_price_inline);

if ($return_mode) {

return $output;

} else {

echo $output;

}

}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

dans le fichier lib/Class/Product.php, fonction set_configuration() il faut modifier

foreach(explode("§", $attributs_list) as $tableau_id_array) {

par

foreach(explode("-", $attributs_list) as $tableau_id_array) {


Cette modification corrige votre problème, mais peut causer des erreurs dans le cas d'attribut de type upload (lorsque les images contiennent le caractère '-'). Un solution consiste à supprimer le caractère '-' lors du renommage automatique des images dans la fonction upload (fichiers lib/fonctions/fonctions.php, ligne 1719).
Les attributs administrables ont été conçu différemment pour la nouvelle version, et ne présente plus ces défauts.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping