Jump to content

calcul de tarif dans grille tarifaire, modification impossible du conditionnement


Recommended Posts

Bonjour,

 

Je rencontre un probléme que je n'arrive pas a résoudre.  Je précise que je n'ai pas de compétences de programation ou devellopement

 

Mon site vend des articles textile, et j'ai fait develloper un module pour avoir une grille tarifaire dans ma fiche article.

Pour ce faire, j'utilise 2 parametres créé dans les caractéristiques de produit, et je crée ensuite une regle de prix catalogue

 

Par exemple, le produit T-shirt 61-036 est disponible en 5 tailles et 20 coloris.  Il est conditionné par 24 a la taille et du carton de 72 pieces. je veux un prix pour unité jusqu'a 23, puis par paquet (24), puis par carton (72) et enfin pour un multiple de carton (actuellement 10, donc 720 pieces).  Je vais donc parametrer dans les caracteristiques produit les 2 caracteristiques "paquet" et "carton" que je défini a 24 et 72.  Je vais ensuite creer 3 regles de prix catalogues, parametrées pour un colisage de "paquet de 24" et "carton de 72" avec les quantités correspondantes et la remise a calculer.  Pas de probleme, les prix par quantité apparaissent dans l'onglet prix, quand je fais une commande test sur tous les navigateurs, tous fonctionne parfaitement.

Mais ce module a été fait en 2013, et le marché a un peu changé, les tarifs par quantité aussi.  J'ai donc voulu modifier ma derniere ligne du tableau par quantité, actuellement a "10 cartons"" soit pour l'exemple ci dessus 720 pieces et le passer a 5 cartons (216) et eventuellement rajouter une ligne pour le "10 cartons".

Je n'ai pas eu de probléme pour trouver le fichier php, j'ai trouvé l'emplacement ou le parametre "par 10" était codé et je l'ai changé à 5.  J'ai même été faire un copier/coller du bloc de code pour afficher une ligne supplementaire et ca a marché (enfin...presque, juste un petit bug a résoudre)

 

Mon probléme : la ligne reste codé avec un multiple de 10 ! impossible d'obtenir quoi que ce soit d'autre.  J'ai simplement a modifier a 3 endroits le multiple de "10", mais rien n'y fait.  Etrangement, dans ce code, si je change le tring $carton par $paquet, c'est bien la quantité du paquet qui est prise en compte (24 x 10 = 240)

Donc ce multiple de 10 doit être codé en dur quelque part (j'ai fait une recherche sur la page, mais je n'ai plus rien en "10"), ou alors la page appelle ce multiple sur un autre fichier, mais la ca sort de mes compétences (j'ai regardé mais je n'ai rien vu)

 

Quelqu'un peut il me donner des pistes ou m'aider a trouver la solution ?  Voici le bloc fautif :

(site teeasy.com)

 

//affichage 10 cartons
$affichage .= "<tr><td bgcolor='#f5f5f5'> > ".(10*$carton_value)."</td>";
foreach($tailles as $k=>$v) {
$id_att = array_intersect($result[$var_taille_utilise."|".$k],$result[$var_couleur_utilise."|".$kcouleurs]);
foreach ($id_att as $l=>$attribute_product_com);
 
$currency = Context::getContext()->currency;
$id_country = Context::getContext()->country->id;
$group = Group::getCurrent();
$id_group = $group->id;
$reduction = SpecificPrice::getSpecificPrice($id_product, Context::getContext()->shop->id, $currency->id, $id_country, $id_group, (10*$carton_value), $attribute_product_com, 0, 0, (10*$carton_value));
$reduction_pourcentage = $reduction['reduction'];
$prix = Product::getPriceStatic($id_product, false, $attribute_product_com);
$reduction_value = $prix - ($prix*$reduction_pourcentage);
//$affichage .= "<td align='center' class='bgprix_".$kcouleurs."_3' id='bgprix_".$kcouleurs."_".$k."_3'><span id='prix_".$kcouleurs."_".$k."_3'>".number_format($reduction_value, 2)."</span></td>";
 
 
 
if($attribute_product_com!=0) {
$affichage .= "<td align='center' class='bgprix_".$kcouleurs."_3' id='bgprix_".$kcouleurs."_".$k."_3'><span id='prix_".$kcouleurs."_".$k."_3'>".number_format($reduction_value, 2)."</span></td>";
} else {
$affichage .= "<td align='center' class='bgprix_".$kcouleurs."_3' id='bgprix_".$kcouleurs."_".$k."_3'><span id='prix_".$kcouleurs."_".$k."_3'> - </span></td>";
}
$attribute_product_com = 0;
 
 
}
$affichage .= "</tr>";
 
 

MERCI !

 

 

Link to comment
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
×
×
  • Create New...