Olivier92 Posted May 20, 2013 Share Posted May 20, 2013 (edited) bonjour, je souhaite changer l'affichage sur la home. au lieu d'avoir le PV final ttc, je souhaite à la place, afficher le prix au kilo. je pense avoir trouver la variable necessaire : unit_price mais ensuite, ca se complique un peu pour moi.. fichier à modifier ? code à remplace ? je le souhaite uniquement sur la home. je conserve la configuration de la page produit. merci de votre aide, Edited May 20, 2013 by Olivier92 (see edit history) Link to comment Share on other sites More sharing options...
CreaZion Web Posted May 20, 2013 Share Posted May 20, 2013 Bonjour, Lorsque vous parlez de la home, je suppose que vous parlez plus précisément du module "Produits phares" (module "homefeatured). Vous n'avez pas indiqué votre version de Prestashop, ni le thème que vous utilisez. Je vais donc partir sur une boutique Prestashop 1.5.4.1, avec le thème par défaut. Dans le dossier de votre thème, trouvez le fichier d'affichage de ce module (fichier template -> .tpl). Il s'agit du fichier suivant : themes/default/modules/homefeatured/homefeatured.tpl "default" est le nom de mon thème. Si votre thème ne possède pas de répertoire nommé "homefeatured" dans le répertoire "module du thème, alors il faudra le créer, et y copier/coller le fichier homefeatured.tpl que vous trouverez à cet endroit : /modules/homefeatured/homefeatured.tpl Ouvrez le fichier homefeatured.tpl (de votre thème, pas dans le module directement !) avec un éditeur de texte, ou un éditeur html (type notepad). A l'endroit où vous souhaitez afficher le prix au kilo, il vous suffira de renseigner le code suivant : {l s='Price per kilo' mod='homefeatured'} : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} Ce code doit se trouver entre les deux morceaux de code suivant : <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> et : </li> {/foreach} C'est indispensable pour que le prix au kilo corresponde bien à chaque produit. Si le code est placé en dehors de ces deux morceaux de code, alors il ne voudra plus rien dire. Enfin, pour remplacer le prix affiché par défaut (le prix TTC du produit par exemple) par ce prix au kilo, remplacez le code suivant : {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if} Par ce code : <p>{l s='Price per kilo' mod='homefeatured'} : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"}</p> Le résultat obtenu pour un produit de 10 kilos à 10,00 € sera le suivant : Price per kilo : 1,00 € La mention "Price per kilo" sera a traduire depuis votre outil d'administration dans "Localisation" puis "Traduction". Sélectionnez dans les menus déroulants "Traduction des modules installés" et "default" (c'est le nom de mon thème) puis cliquez sur le drapeau français. Vous n'avez plus qu'à retrouver ce champ à traduire et y indiquer "Prix au kilo". Pour afficher dans notre exemple le prix au kilo sous cette la forme : "1,00 € / Kg", il aurait fallu mettre le code suivant : <p>{math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} / Kg</p> Dans ce dernier exemple il n'y a pas de traduction de la mention "/ Kg" car elle s'applique ici à toutes les versions. Voilà, j'espère vous avoir aidé, et si ce n'est pas clair n'hésitez pas à me le faire savoir. Bonne continuation 1 Link to comment Share on other sites More sharing options...
Olivier92 Posted May 21, 2013 Author Share Posted May 21, 2013 Ok un grand merci.. je digère tout ça et je reviens après une bonne nuit ! see you.. Olivier Link to comment Share on other sites More sharing options...
CreaZion Web Posted May 21, 2013 Share Posted May 21, 2013 Bonsoir Olivier92, avez-vous réussi à afficher le prix au kilo de vos articles ? De mon côté, je reviens sur le forum pour donner un peu plus d'explications sur le code utilisé et le commenter pour ceux que cette modification intéresserait. Exemple : J'ai un produit de 5 kilos dont le prix est 10,00 €. Le code qui suit va me permettre d'afficher le prix de mon produit au kilo de la façon suivante : Prix au kilo : 2,00 € Le code est le suivant : {l s='Price per kilo' mod='homefeatured'} : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} Dans ce code, j'utilise uniquement du "smarty" (le moteur de template php utilisé par Prestashop). Le smarty est un code qui s'écrit toujours entre crochets : { mon code }. La première partie sert à afficher "Prix au kilo" en prévoyant sa traduction dans toutes les langues de votre boutique via l'outil de traduction intégré à Prestashop. {l s='Price per kilo' mod='homefeatured'} Vous trouverez cet outil de traduction dans votre back-office dans la partie "Localisation" puis "Traduction". Ici l s='Price per kilo' contient le texte à traduire. De préférence, on renseigne le texte par défaut en anglais, et on le traduit ensuite via l'outil de traduction. mod='homefeatured' nous permet d'indiquer que cette traduction est rattachée à un module particulier de la boutique. Si on avait rien renseigné ici, alors Prestashop aurait compris que ce texte ne faisait pas partie d'un module, mais du front-office de la boutique. La seconde partie du code permet l'affichage du prix au kilo : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} Le prix du produit est affiché grâce à la variable smarty : {$product.price} Dans mon exemple ça afficherait : 10 Le poids du produit est affiché grâce à la variable smarty : {$product.weight} Dans mon exemple ça afficherait : 5 Dans smarty, les calculs se font avec le code suivant : {math equation = "2 * 2"} Dans mon exemple ci-dessus, je souhaite faire la multiplication : 2x2. Le résultat affiché serait : 4. Ici je dois diviser le prix du produit par son poids en kilos. Je dois pour cela dire que pour ma division : "pprice" représentera le prix de mon produit, et "pweight" représentera son poids. pprice=$product.price pweight=$product.weight Maintenant je peux utiliser ces deux éléments dans ma division, ce qui donnera pour mon calcul le code suivant : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight} Seulement, à l'affichage j'ai un nombre avec pas mal de chiffres derrière la virgule, et ça ne ressemble pas à un prix qui doit s'afficher avec deux chiffres seulement après la virgule. Je vais donc rajouter dans mon code une information sur le format d'affichage : format="%.2f" Ce qui me donne au final : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} 1 Link to comment Share on other sites More sharing options...
Olivier92 Posted May 25, 2013 Author Share Posted May 25, 2013 (edited) Hello Creazion web, bon, en ce samedi de novembre, je me suis installé devant mon PC avec presta 1.5.. installé en local qui va bien. dans le fichier HOMEFEATURED.TPL j'ai mis les lignes de codes : {l s='Price per kilo' mod='homefeatured'} : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} entre les 2 balises puis remplacé des lignes de codes par ca : <p>{l s='Price per kilo' mod='homefeatured'} : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"}</p> entre les lignes : <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> et {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} en remplacant les lignes... et rien ne se passe.. ne s'affiche.. j'utilise le thème fourni par défaut dans Prestashop.. bizarre, j'ai cache NON.. au fait, le fichier HOMEFEATURE.. c est celui qui s'affiche sur la homepage.. les 4 produits phares ? olivier Edited May 25, 2013 by Olivier92 (see edit history) Link to comment Share on other sites More sharing options...
Olivier92 Posted May 26, 2013 Author Share Posted May 26, 2013 bon, je voulais telecharger le fichier homefeatured.tpl mais on me l'interdit. You aren't permitted to upload this kind of file voici donc le code : {* * 2007-2012 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2012 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} <!-- MODULE Home Featured Products --> <div id="featured-products_block_center" class="block products_block clearfix"> <h4 class="title_block">{l s='Featured products' mod='homefeatured'}</h4> {if isset($products) AND $products} <div class="block_content"> {assign var='liHeight' value=250} {assign var='nbItemsPerLine' value=4} {assign var='nbLi' value=$products|@count} {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} {math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight} <ul style="height:{$ulHeight}px;"> {foreach from=$products item=product name=homeFeaturedProducts} {math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> <a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a> <h5 class="s_title_block"><a href="{$product.link}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h5> <div class="product_desc"><a href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div> <div> {l s='Price per kilo' mod='homefeatured'} : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> <p>{math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} / Kg</p> {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} {if ($product.quantity > 0 OR $product.allow_oosp)} <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a> {else} <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> {/if} {else} <div style="height:23px;"></div> {/if} </div> </li> {/foreach} </ul> </div> {else} <p>{l s='No featured products' mod='homefeatured'}</p> {/if} </div> <!-- /MODULE Home Featured Products --> ... et pourquoi ca marche pas ? Link to comment Share on other sites More sharing options...
CreaZion Web Posted May 28, 2013 Share Posted May 28, 2013 Bonsoir, Je regarderai plus attentivement votre code demain car je ne suis pas devant l'écran idéal pour cela ce soir. Une question, comme ce n'était pas précisé dans votre premier message, quelle version de Prestashop utilisez-vous svp ? D'autre part, avez-vous bien modifié le fichier homefeatured.tpl qui se trouvais dans le dossier de votre thème ? Et pas directement dans le dossier du module concerné ? C'est à dire dans : themes/mon-theme/modules/homefeatured/homefeatured.tpl Et non pas dans : modules/homefeatured.tpl Link to comment Share on other sites More sharing options...
CreaZion Web Posted May 28, 2013 Share Posted May 28, 2013 Alors... Finalement vous devriez avoir ceci comme code : <!-- MODULE Home Featured Products --> <div id="featured-products_block_center" class="block products_block clearfix"> <p class="title_block">{l s='Featured products' mod='homefeatured'}</p> {if isset($products) AND $products} <div class="block_content"> {assign var='liHeight' value=250} {assign var='nbItemsPerLine' value=4} {assign var='nbLi' value=$products|@count} {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} {math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight} <ul style="height:{$ulHeight}px;"> {foreach from=$products item=product name=homeFeaturedProducts} {math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> <a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a> <p class="s_title_block"><a href="{$product.link}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></p> <div class="product_desc"><a href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div> <div> <div>{math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} € /Kg</div> <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} {if ($product.quantity > 0 OR $product.allow_oosp)} <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a> {else} <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> {/if} {else} <div style="height:23px;"></div> {/if} </div> </li> {/foreach} </ul> </div> {else} <p>{l s='No featured products' mod='homefeatured'}</p> {/if} </div> <!-- /MODULE Home Featured Products --> Avec ce code ça fonctionne correctement. J'ai placé le prix au kilo dans un div (bloc de contenu : <div></div>) de façon àa ce qu'il y ai un retour à la ligne après, mais il est possible de le placer dans d'autres balises, ou de le laisser sans balises. Est-ce que ça fonctionne chez vous ? Si ça ne fonctionne toujours pas, que vous êtes sur la version 1.5 de Prestashop, que vous avez vidé le cache de votre navigateur, ainsi que celui du site, et que vous avez réalisé ces modifications dans le thème et non directement dans le module, alors il reste une erreur possible : Avez-vous bien renseigné un poids pour votre produit ? J'ai déjà vu des clients à moi qui s'était trompé et qui dans l'onglet de la fiche produit "Transport" avait cru donner un poids au produit, mais qui en fait avaient renseigné le champ "Frais de port supplémentaires (par unité)". C'est le champ "Poids (du paquet)" que vous devez avoir renseigné dans le back-office. Link to comment Share on other sites More sharing options...
Olivier92 Posted May 29, 2013 Author Share Posted May 29, 2013 (edited) hello, la version de : PrestaShop™ 1.5.3.1 je n'ai modifier que le homefeatured.tpl du module et pas celui du theme.. je vais plutot modifier celui du theme.. > je vais essayer les lignes de votre dernier post... et je reviens vers vous. Edited May 29, 2013 by Olivier92 (see edit history) Link to comment Share on other sites More sharing options...
Olivier92 Posted May 29, 2013 Author Share Posted May 29, 2013 C'est canon, ça fonctionne! un grand merci !! c'est jolliiiii... encore plus fort, si je ne veux pas de virgule.. ? le format à mettre ? ce serait un truc comme format="%.0f" au lieu de format="%.2f" ? Link to comment Share on other sites More sharing options...
Olivier92 Posted May 29, 2013 Author Share Posted May 29, 2013 (edited) Oui c'est ça, ça marche... encore plus fort, sur la fiche produit, quelles sont les lignes à mettre à cote du PV pour l'avoir au kilo ? je vais chercher.. je crois avoir trouvé.. Edited May 29, 2013 by Olivier92 (see edit history) Link to comment Share on other sites More sharing options...
CreaZion Web Posted May 29, 2013 Share Posted May 29, 2013 Alors... Sur la fiche produit il y a deux façon possibles de faire ça car le code suivant fonctionne très bien, tout comme sur la page d'accueil : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} € /Kg Par contre, si vous avez des déclinaisons dont les attributs ont un impact sur le prix ou sur le poids, il faudra prévoir une modification dynamique du prix au kilo, et là ce n'est plus le même code. Link to comment Share on other sites More sharing options...
sekar33 Posted October 9, 2013 Share Posted October 9, 2013 Bonjour, Le code ne marche pas du tout sur la fiche produit d'une 1.5.4, mais sa ma permit de trouver le bon code, merci. {math equation ="pprice / pweight" pprice=$productPrice pweight=$product->weight format="%.2f"} € Link to comment Share on other sites More sharing options...
marco601 Posted December 22, 2013 Share Posted December 22, 2013 bonjour, pour avoir le prix au kilo sur tous les produits dans dans les pages produits, cela peut-il fonctionner aussi? on peut mettre le code dans la page product.tpl? merci d'avance Link to comment Share on other sites More sharing options...
marco601 Posted December 27, 2013 Share Posted December 27, 2013 Bonjour, Le code ne marche pas du tout sur la fiche produit d'une 1.5.4, mais sa ma permit de trouver le bon code, merci. {math equation ="pprice / pweight" pprice=$productPrice pweight=$product->weight format="%.2f"} € je cherche à adapter ce code pour la version 1.5.6 sur les pages produits, vous pourriez m'aider là-dessus merci Link to comment Share on other sites More sharing options...
zellige Posted January 6, 2014 Share Posted January 6, 2014 Bonjour, Je souhaiterai afficher le prix au kilo sur la page product-list Quel serait le code ? En vous remerciant par avance, Link to comment Share on other sites More sharing options...
tresorsdargan Posted June 8, 2014 Share Posted June 8, 2014 Bonjour Creazion Web J'ai suivi le tutos et souhaiterais appliquer cette fonction sur product-list afin d'afficher non pas le poids mais le prix unitaire du produit si vendu par lot de 3 par exemple. le code ajouté sur product-list est extrait de la fonction déjà présente dans product.tpl, soit: {math equation="pprice / punit_price" pprice=$productPrice punit_price=$product->unit_price_ratio assign=unit_price} Hélas, l'affichage ne prend pas, aucune méthode de calcul... Y à t'il une astuce pour faire afficher le prix unitaire avec le code ci-dessus ? Merci d'avance Olivier Link to comment Share on other sites More sharing options...
Grafics Posted June 8, 2014 Share Posted June 8, 2014 Pour la product-list, les variables ne sont pas "$product->unit_price_ratio" mais "$product.unit_price_ratio" Link to comment Share on other sites More sharing options...
bugg Posted June 17, 2014 Share Posted June 17, 2014 Alors... Finalement vous devriez avoir ceci comme code : <!-- MODULE Home Featured Products --> <div id="featured-products_block_center" class="block products_block clearfix"> <p class="title_block">{l s='Featured products' mod='homefeatured'}</p> {if isset($products) AND $products} <div class="block_content"> {assign var='liHeight' value=250} {assign var='nbItemsPerLine' value=4} {assign var='nbLi' value=$products|@count} {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} {math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight} <ul style="height:{$ulHeight}px;"> {foreach from=$products item=product name=homeFeaturedProducts} {math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> <a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a> <p class="s_title_block"><a href="{$product.link}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></p> <div class="product_desc"><a href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div> <div> <div>{math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} € /Kg</div> <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} {if ($product.quantity > 0 OR $product.allow_oosp)} <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a> {else} <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> {/if} {else} <div style="height:23px;"></div> {/if} </div> </li> {/foreach} </ul> </div> {else} <p>{l s='No featured products' mod='homefeatured'}</p> {/if} </div> <!-- /MODULE Home Featured Products -->Avec ce code ça fonctionne correctement. J'ai placé le prix au kilo dans un div (bloc de contenu : <div></div>) de façon àa ce qu'il y ai un retour à la ligne après, mais il est possible de le placer dans d'autres balises, ou de le laisser sans balises. Est-ce que ça fonctionne chez vous ? Si ça ne fonctionne toujours pas, que vous êtes sur la version 1.5 de Prestashop, que vous avez vidé le cache de votre navigateur, ainsi que celui du site, et que vous avez réalisé ces modifications dans le thème et non directement dans le module, alors il reste une erreur possible : Avez-vous bien renseigné un poids pour votre produit ? J'ai déjà vu des clients à moi qui s'était trompé et qui dans l'onglet de la fiche produit "Transport" avait cru donner un poids au produit, mais qui en fait avaient renseigné le champ "Frais de port supplémentaires (par unité)". C'est le champ "Poids (du paquet)" que vous devez avoir renseigné dans le back-office. Bonjour, j'ai le même problème, une boutique qui vend des légumes au kilo, et vous semblez avoir résolu tous les problèmes. Si ce n'est pas trop demandé, pourriez-vous m'indiquer la démarche à suivre pour que ces prix soient affichés au kilo pour chaque produit. Merci d'avance. Link to comment Share on other sites More sharing options...
Deal-House Posted November 8, 2015 Share Posted November 8, 2015 Alors... Sur la fiche produit il y a deux façon possibles de faire ça car le code suivant fonctionne très bien, tout comme sur la page d'accueil : {math equation = "pprice / pweight" pprice=$product.price pweight=$product.weight format="%.2f"} € /Kg Par contre, si vous avez des déclinaisons dont les attributs ont un impact sur le prix ou sur le poids, il faudra prévoir une modification dynamique du prix au kilo, et là ce n'est plus le même code. Bonjour Creazion Web, Je réagit sur ce sujet par rapport à un problématique que je rencontre actuellement sur notre boutique de vente de jambons espagnols. Nous voudrions afficher sur la page produit un prix/kg différent pour chacune de nos déclinaisons (2 déclinaisons). Comme vous le mentionnez dans votre post, nos déclinaisons contiennent des attributs ayant un impact sur le prix (baisse) et sur le poids (augmentation). Nous avons installé un serveur local pour procéder aux tests, quel est le code pour prévoir cette modification dynamique du prix au kilo par déclinaison ? Un grand merci pour votre réponse Gérald. 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