Sign in to follow this  
Followers 0

Mauvais affichage du prix d'un article avec plusieurs options

6 posts in this topic

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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 ?

Share this post


: post
Share on other sites

Posted · Report post

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;

}

}

Share this post


: post
Share on other sites

Posted · Report post

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.

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

Twitter Advisto ecommerce

Facebook PEEL Shopping