riverphot Posted February 18, 2021 Share Posted February 18, 2021 Bonjour, je cherche à afficher sur la page produit la liste de mes déclinaisons et leurs tarifs correspondants (promo inclus). J'ai réussi à faire mon tableau mais les prix se change quand je clique sur l'attribut, or je voudrais fixé l'affichage du prix en face de chaque ligne d'attribut. Je mets une image pour que ça soit plus clair. Voici le code que j'ai déjà réussi à mettre en place. Si vous avez une idée pour fixer le tout je suis preneuse. {foreach from=$group.attributes key=id_attribute item=group_attribute} <tr> <td> <div class="input-container float-xs-left"> <label> <input class="input-radio" type="radio" title="{$group_attribute.name}" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}"{if $group_attribute.selected} checked="checked"{/if}> <span class="radio-label">{$group_attribute.name}</span> </label> </div></td> <td>{$group_attribute.name}</td> <td> {if $product.show_price} <div class="product-prices"> {block name='product_discount'} {if $product.has_discount} <div class="product-discount"> {hook h='displayProductPriceBlock' product=$product type="old_price"} <span class="regular-price">{$product.regular_price}</span> </div> {/if} {/block} {block name='product_price'} <div class="product-price h5 {if $product.has_discount}has-discount{/if}" itemprop="offers" itemscope itemtype="https://schema.org/Offer"> <div class="current-price"> <span itemprop="price" content="{$product.price_amount}">{$product.price}</span> {if $product.has_discount} {if $product.discount_type === 'percentage'} <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span> {else} <span class="discount discount-amount"> {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]} </span> {/if} {/if} </div> </div> {/block} </div> {/if} {if isset($product.reference_to_display) && $product.reference_to_display neq ''} soit {$product.reference_to_display} {/if} </td> </tr> {/foreach} Link to comment Share on other sites More sharing options...
Mediacom87 Posted February 19, 2021 Share Posted February 19, 2021 Bonjour, le plus simple, à mon sens, serait de développer un module pour afficher ce tableau. Link to comment Share on other sites More sharing options...
riverphot Posted February 19, 2021 Author Share Posted February 19, 2021 Bonjour, pourquoi un module ? Les informations sont déjà toutes présentes. Je souhaite juste les afficher de manière statique, la ou aujourd'hui elle s'affiche de manière dynamique lorsqu'on sélectionne un attribut. Link to comment Share on other sites More sharing options...
coeos.pro Posted February 19, 2021 Share Posted February 19, 2021 un peu comme ça https://www.coeos.pro/fr/modules-prestashop/78-liste-des-declinaisons.html au final Link to comment Share on other sites More sharing options...
riverphot Posted February 20, 2021 Author Share Posted February 20, 2021 Bonjour, oui un peu comme ça. Mais plus simple juste affichage des prix. Je ne souhaite pas installer un module, juste un coup de main pour comprendre comment optimiser mon code. Si quelqu'un a une idée Link to comment Share on other sites More sharing options...
coeos.pro Posted February 20, 2021 Share Posted February 20, 2021 vous pouvez rajouter {debug} pour voir les variables disponibles et leurs valeurs Link to comment Share on other sites More sharing options...
riverphot Posted February 22, 2021 Author Share Posted February 22, 2021 Merci pour le {debug} je connaissais pas. Du coup j'ai gratté tout ça. J'ai beaucoup appris au passage. J'ai réussi à afficher le prix HT de ma déclinaison et sa référence (dont je me sers pour afficher un prix au kilo). Par contre je butte sur le prix. En effet celui ci est donc calculé en ajoutant les taxes, les réductions, etc... Du coup je cherche à calculer le prix de la déclinaison selon les même règle que le prix du produit (soit l'équivalent de {$product.price} ). Si quelqu'un à une piste pour mon problème, ça m'aiderait beaucoup. Et sinon voici l'état de mon code : {foreach from=$combinations key=comb_key item=combination} {if isset($combination.attributes[0]) AND $combination.attributes[0] == $id_attribute|intval} <br/> {if $product.show_price} <div class="product-price h5 {if $product.has_discount}has-discount{/if}" > <div class="current-price"> <span itemprop="price">{$combination.price}</span> <div class="product-prices"> {$product.price} {block name='product_discount'} {if $product.has_discount} <div class="product-discount"> {hook h='displayProductPriceBlock' product=$product type="old_price"} <span class="regular-price">{$product.regular_price}</span> </div> {/if} {/block} {if $product.has_discount} {if $product.discount_type === 'percentage'} <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span> {else} <span class="discount discount-amount"> {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]} </span> {/if} {/if} </div> </div> </div> {/if} <br/> soit {$combination.reference} {if $product.has_discount} (avant réduction) {/if} {/if} {/foreach} 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