spice_prods Posted August 31, 2010 Share Posted August 31, 2010 AFFICHER LES POIDS EN FONCTION DES DECLINAISONS SUR LA PAGE DES PRODUITS(Testé uniquement avec la v1.3.1.1)1/ modifications "product.php" :ajouter : 'weightUnit' => Configuration::get('PS_WEIGHT_UNIT'), à la suite de : 'outOfStockAllowed' => intval(Configuration::get('PS_ORDER_OUT_OF_STOCK')), ajouter : $combinations[$row['id_product_attribute']]['weight'] = floatval($row['weight']); à la suite de : $combinations[$row['id_product_attribute']]['ecotax'] = floatval($row['ecotax']); 2/ modifications "product.tpl" :ajouter : var productWeight = '{$product->weight|escape:'htmlall':'UTF-8'}'; à la suite de : var productReference = '{$product->reference|escape:'htmlall':'UTF-8'}'; remplacer : addCombination({$idCombination|intval}, new Array({$combination.list}), {$combination.quantity}, {$combination.price}, {$combination.ecotax}, {$combination.id_image}, '{$combination.reference|addslashes}'); par : addCombination({$idCombination|intval}, new Array({$combination.list}), {$combination.quantity}, {$combination.price}, {$combination.ecotax}, {$combination.id_image}, '{$combination.reference|addslashes}', {$combination.weight}); ajouter l'affichage où vous voulez : <!-- products weight --> Poids : {$product->weight} {$weightUnit} par exemple avant : quantity == 0} style="display:none;"{/if} id="add_to_cart" class="buttons_bottom_block"><input type="submit" name="Submit" value="{l s='Add to cart'}" class="exclusive" /></p> 3/ modifications "product.js" :remplacer : function addCombination(idCombination, arrayOfIdAttributes, quantity, price, ecotax, id_image, reference) par : function addCombination(idCombination, arrayOfIdAttributes, quantity, price, ecotax, id_image, reference, weight) ajouter : combination['weight'] = weight; après : combination['reference'] = reference; ajouter : selectedCombination['weight'] = combinations[combination]['weight']; après : selectedCombination['price'] = combinations[combination]['price']; ajouter : // Calcul et affichage du poids des produits var declined_weight = Number(selectedCombination['weight']) + Number(productWeight); if (selectedCombination['weight']) $('#product_weight').text(declined_weight); else if (productWeight) $('#product_weight').text(productWeight); $('#product_weight:hidden').show('slow'); après : function updateDisplay() { -------Voilà, j'espère que ça sera utile à certains car c'est expliqué nulle part sur le forum (français ou anglais) et beaucoup de personnes le demande.C'est le comble que ce soit un pauvre petit graphiste comme moi, archi nul en programmation qui ai trouvé la solution Link to comment Share on other sites More sharing options...
Patric Posted September 1, 2010 Share Posted September 1, 2010 Merci pour cette contribution. Link to comment Share on other sites More sharing options...
spice_prods Posted September 2, 2010 Author Share Posted September 2, 2010 c'est un plaisir de pouvoir contribuer et de ne pas seulement "repomper" ce qui a déjà été fait Link to comment Share on other sites More sharing options...
ste0024 Posted October 3, 2010 Share Posted October 3, 2010 bonjourest ce aussi valable pour afficher le poids sans déclinaison.merci Link to comment Share on other sites More sharing options...
spice_prods Posted October 4, 2010 Author Share Posted October 4, 2010 bonjourest ce aussi valable pour afficher le poids sans déclinaison.merci oui, mais dans ce cas pas besoin de s'embêter à faire tout ça, tu n'as qu'à voir ce topic :http://www.prestashop.com/forums/viewthread/36808/#164877 Link to comment Share on other sites More sharing options...
ste0024 Posted October 4, 2010 Share Posted October 4, 2010 bonjourj avais deja visiter ce lien mais pas compris et il mette remplacer mais il ne precise pas ce qu il faut remplacer dans product.tpl@+ Link to comment Share on other sites More sharing options...
Rhhhhaaaa Posted February 7, 2011 Share Posted February 7, 2011 Bonjour et avant tout, MERCI !J'utilise PRESTASHOP Version 1.3.6.0J'ai appliqué méticuleusement la procédure décrite ci-dessus. J'ai bien le poids de l'article qui apparait. Le poids ne varie pas selon les déclinaisons ... j'ai envie de dire " maisheeeeeu ! "Est-ce tout simplement dû à la version ? J'apprécierais très volontiers un peu d'aide Au delà de l'aide qu'il procure, cet article soulève la question du pourquoi ... Pourquoi n'a t'on pas par défaut la possibilité d'afficher le poids de l'article ainsi que celui de ses déclinaisons ?Pourtant lors de la création de la fiche produit, l'indication du poids est prise en compte et les déclinaisons permettent de spécifier l'écart de poids, si nécessaire. Pourtant, par défaut, lors de l'affichage du produit, le poids n'apparait que sur la fiche technique et ne varie pas selon les déclinaisons ... Je trouve cela très étonnant dans un logiciel d'aussi bonne facture ! Ne doutons pas que cela sera rapidement rectifié dans les moutures à venir.Dans mon cas, dans la construction d'un site destiné à vendre des pneus vtt, l'information du poids est absolument incontournable, et elle varie évidemment selon les déclinaisons.Quoiqu'il en soit, merci encore de nous fournir un tel outil librement ! longue vie à Prestashop et à ses généreux développeurs et contributeurs ! Link to comment Share on other sites More sharing options...
Rhhhhaaaa Posted February 7, 2011 Share Posted February 7, 2011 Rheu !Bin voilà, MEA CULPA ( évidemment ! ) Pour l'insertion de code dans le fichier PRODUCT.JS, après function updateDisplay() { , j'ai carrément zappé l'accolade et j'ai inséré le code avant, au lieu d'après .. Subtil n'est-ce pas ? Par contre .. le poids obtenu est pourvu de 6 décimales ( uniquement sur mes déclinaisons ) ... 2 me suffiraient amplement ... une suggestion ? d'avance merci ! Link to comment Share on other sites More sharing options...
Rhhhhaaaa Posted February 11, 2011 Share Posted February 11, 2011 Salut !Suite et fin de mes déboires avec l'affichage du poids des déclinaisons. Etant un noob total en JS et en plein d'autres crucs, l'a fallu que je prenne le temps de chercher et de comprendre. Dans mon précédent post j'évoquais un problème d'affichage de nombre de décimales après la virgule. En fait j'avais 16 décimales après la virgule, et le poids affiché n'était pas exact. Ex : Poids Initial ( PI ) = 1.15 kgs. Poids de la déclinaison ( PDD ) = PI + 0.2 kgs = 1.35 kgs.Ce qui aurait du afficher : Poids : 1.35 kgsMais qui affichait : Poids : 1.3499999999999999 J'ai donc ajouté 2 p'tites lignes de code dans le fichier PRODUCT.JSCode d'origine ( ! Voir le tuto ci-dessus pour le positionnement du code dans le fichier ! ) :// Calcul et affichage du poids des produits var declined_weight = Number(selectedCombination['weight']) + Number(productWeight); if (selectedCombination['weight']) $('#product_weight').text(declined_weight); else if (productWeight) $('#product_weight').text(productWeight); $('#product_weight:hidden').show('slow'); Code modifié : // Calcul et affichage du poids des produits var declined_weight = Number(selectedCombination['weight']) + Number(productWeight); var dc = Math.round(declined_weight*100)/100 var declined_weight = (dc) if (selectedCombination['weight']) $('#product_weight').text(declined_weight); else if (productWeight) $('#product_weight').text(productWeight); $('#product_weight:hidden').show('slow'); Walà Bon courage à tous ! Link to comment Share on other sites More sharing options...
botmez Posted February 24, 2011 Share Posted February 24, 2011 Et comment afficher le poids total avec déclinaisons par exemple dans la confirmation de commande, dans le mail client et dans la facture ?Cdlt,Nadine Link to comment Share on other sites More sharing options...
Broceliande Posted February 24, 2011 Share Posted February 24, 2011 Merci Spice_prods , post mis dans mes favs pour le jour inéluctable ou j'aurais cette demande Link to comment Share on other sites More sharing options...
presta_man_neewbee Posted March 15, 2011 Share Posted March 15, 2011 BonjourDe mon coté, je cherche à afficher un lien vers un produit correspondant à la déclinaison choisie.exemple, si je choisis l'attribut chène polaire, je souhaite afficher un lien en dessous dans le block_cart vers le produit correspondant à la déclinaison(dans ce cas le parquet chêne polaire).pour être plus explicite voici une image.le temps presse dans mon cas je n'ai pas le temps de définir une nouvelle règle dans product.phpil faudrait que je modifie le .jspouvez vous me renseigner ou exactement?Après je ferai un truc propre mais la, quitte à écrire en dur !!!merci Link to comment Share on other sites More sharing options...
Broceliande Posted March 15, 2011 Share Posted March 15, 2011 la j'avoue que même en dur, ça ne va pas être simple , car rien ne relie l'id de la déclinaison choisie vers l'id du produit , alors à part un truc en ajax qui effectue une recherche ... grmbl... Link to comment Share on other sites More sharing options...
presta_man_neewbee Posted March 15, 2011 Share Posted March 15, 2011 j'ai vu ca dans le product.jsen effet, j'crois que c'est mort pour moi !! Link to comment Share on other sites More sharing options...
presta_man_neewbee Posted March 15, 2011 Share Posted March 15, 2011 je pensais mettre mes parquets dans accessoires et afficher l'accessoire correspondant au choixest-ce seulement possible ?Pitié !!!! Link to comment Share on other sites More sharing options...
ardeche59 Posted June 26, 2012 Share Posted June 26, 2012 (edited) [RÉSOLU] Hello je suis en 1.4.3 j'ai suivi à la lettre le topic le poids s'affiche mais ne change pas suivant les déclinaisons !!! avez vous la solution ? Edited July 13, 2012 by ardeche59 (see edit history) Link to comment Share on other sites More sharing options...
ardeche59 Posted June 26, 2012 Share Posted June 26, 2012 ok j'ai résolu le problème ... dans 'product js' il faut ajouter le 'span' : $('#product_weight span').text(declined_weight); et $('#product_weight span').text(productWeight); et dans product.tpl il faut changer : '<p id="product_weight" >Poids :<span class="editable fright">{$product->weight|escape:'htmlall':'UTF-8'}</span>{$weightUnit}</p>' pour le dispay du poids Link to comment Share on other sites More sharing options...
ManuHWS Posted August 22, 2012 Share Posted August 22, 2012 Bonjour, J'ai une version 1.4.6.2 J'ai essayé de suivre à la lettre mais sans succès. En suivant ce tuto, j'ai pu modifier les sources de PRODUCT.TPL et pour PRODUCT.JS. Par contre, pour PRODUCT.PHP, j'ai bien intégré ce code : 'weightUnit' => Configuration::get('PS_WEIGHT_UNIT'), à l'endroit qui m'a paru le plus adéquat mais j'ai du mal à voir où je peux mettre ce code sachant celui ci : 'outOfStockAllowed' => intval(Configuration::get('PS_ORDER_OUT_OF_STOCK')), ou quoi que ce soit y ressemblant n'est pas dans le source ... C'est dur un admin qui se met au code :-( Merci de vos lumières :-) Bonne journée. Link to comment Share on other sites More sharing options...
ManuHWS Posted August 31, 2012 Share Posted August 31, 2012 Personne ? :-( Link to comment Share on other sites More sharing options...
SebbC Posted October 7, 2012 Share Posted October 7, 2012 Bonjour, A l'attention de ManuHWS et suite à mon MP, les modifications décrites pour product.php sont à effectuer dans ProductController.php dans les versions 1.4.X.X. Par ailleurs si vous souhaitez pouvoir traduire "Poids" via l'outil de traduction, voici le code que j'ai inséré : Après : <p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}><label for="product_reference">{l s='Reference :'} </label><span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span></p> insérer : <p id="product_weight" ><label>{l s='Weight :'}</label><span class="editable">{$product->weight|escape:'htmlall':'UTF-8'}</span> {$weightUnit}</p> à la place de : Poids : {$product->weight} {$weightUnit} comme décrit plus haut. puis allez dans outils>Traductions>Traduction Front Office>clic sur le Drapeau français>Product> Cherchez le champ Weight : et entrez la traduction Poids : Idem pour les autres langues avec votre traduction. Voila ma modeste contribution ! Seb Link to comment Share on other sites More sharing options...
ManuHWS Posted October 7, 2012 Share Posted October 7, 2012 Merci beaucoup Seb de ton retour. J'essaie dès demain et tiens informé de mes résultats !!! Link to comment Share on other sites More sharing options...
ManuHWS Posted October 29, 2012 Share Posted October 29, 2012 (edited) Bonjour, Avec un peu de retard, je confirme que les informations apportées par SEB fonctionnent parfaitement. Merci à toi et au précédent bien sûr ! Oufffff ... ;-) Edited October 29, 2012 by ManuHWS (see edit history) Link to comment Share on other sites More sharing options...
dkbane Posted September 3, 2013 Share Posted September 3, 2013 Bonjour, Quelqu'un a testé pour la version 1.5 ? Link to comment Share on other sites More sharing options...
ReyStub Posted July 6, 2014 Share Posted July 6, 2014 Bonjour, J'essaie d'adapter tout ce qui est expliqué précédemment sur ma version 1.5.6.1, mais les différences de programmation sont telles que je ne m'en sors pas. Quelqu'un pourrait-il me donner des tuyaux pour adapter le code mentionné dans ce post sur PS 1.5.6.1 ? Ou existe-t-il un module pour afficher les poids des déclinaisons sur la fiche produit ? Merci d'avance Link to comment Share on other sites More sharing options...
akamaru Posted July 9, 2014 Share Posted July 9, 2014 Bonjour cette solution fonctionne t elle sur 1.6? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now