tresorsdargan Posted May 22, 2010 Share Posted May 22, 2010 Bonjour à la communauté,Je tente en vain d'afficher l'intitulé "Prix à partir de" sur le fichier product-list.tpl avec la manip ci-dessous, je suis actuellement sur une version Prestashop (1.2.5)En essayant de modifier le code {if !$priceDisplay || $priceDisplay == 2}{convertPrice price=$product.price}{if $priceDisplay == 2} {l s='+Tx'}{/if}{/if} , j'ai ajouté la fonction ci-dessous {if ($product.id_product_attribute!=’‘)}A partir de {/if} ce qui donne : {if !$priceDisplay || $priceDisplay == 2}{if ($product.id_product_attribute!=’‘)}A partir de {/if}{convertPrice price=$product.price}{if $priceDisplay == 2} {l s='+Tx'}{/if}{/if} mais cela ne m'affiche ni le prix le plus bas du produit, ni l'intitulé "A partir de", même pas une erreur !Je me suis trompé quelque part ?Si quelqu’un peut me corriger, ce serait super sympa.Merci à vous.Olivier Link to comment Share on other sites More sharing options...
jeckyl Posted May 22, 2010 Share Posted May 22, 2010 Salut,tu peux comme cela : {l s='from'} {if !$priceDisplay || $priceDisplay == 2}{convertPrice price=$product.price}{if $priceDisplay == 2} {l s='+Tx'}{/if}{/if} Après il faut traduire le from par A partir de dans le backoffice avec l'outil de traduction.tu peux aussi l'intégrer dans un span afin de lui appliquer un style particulier. Link to comment Share on other sites More sharing options...
tresorsdargan Posted May 22, 2010 Author Share Posted May 22, 2010 Bonjour,Merci de ta réponse, j'ai appliqué le code donné, cela fonctionne parfaitement, avec l'ajout de la langue française, impecc !Mon seul soucis est encore l'intégration du code pour afficher le prix de l'attribut le moins cher, afin d'afficher à partir de...le code {if ($product.id_product_attribute!='')}{/if} ne m'affiche aucune modification, d'ou peut venir l'erreur ? Link to comment Share on other sites More sharing options...
jeckyl Posted May 22, 2010 Share Posted May 22, 2010 C'est à toi de sélectionner la déclinaison la moins cher dans l'onglet déclinaison comme celle étant par défaut et automatiquement ce prix sera affiché. Link to comment Share on other sites More sharing options...
tresorsdargan Posted May 22, 2010 Author Share Posted May 22, 2010 Absolument, cependant, j'applique mes différents tarifs au travers de remise en pourcentage dans l'onglet "Prix dégressifs" de la fiche article, et la cela pose un problème.La variable à récupérer est bien celle du product-attribute, et c'est la que je coince... Link to comment Share on other sites More sharing options...
jeckyl Posted May 22, 2010 Share Posted May 22, 2010 Si tu fait une réduction sur le volume alors il faut chercher cette information pour connaitre la méthode de calcule de prix.Mais cela ne concerne les attributs que pour trouver le prix le plus bas et ensuite lui appliquer la réduction par volume. Link to comment Share on other sites More sharing options...
tresorsdargan Posted May 22, 2010 Author Share Posted May 22, 2010 Oui c'est exact, d'ou le fait d'intégrer le code {if ($product.id_product_attribute!='')}{/if} dans le product-list.tpl qui en théorie, devrait faire apparaitre l'attribut le plus bas, mais ce n'est pas le cas !Le but est de trouver la bonne variable qui permettrait d'afficher cet attribut, mais basé sur les prix dégressifs que l'on peut également appliquer sur ces fameuses déclinaisons ! Link to comment Share on other sites More sharing options...
tresorsdargan Posted May 24, 2010 Author Share Posted May 24, 2010 Bonjour,Personne à une petite idée du code permettant d'insérer le prix le moins cher à partir du prix dégressif basés sur les déclinaisons ?Merci à vous Link to comment Share on other sites More sharing options...
Jean-Bruno Posted July 15, 2010 Share Posted July 15, 2010 Bonjour à tousNarjis tu as réussi ce tour de force ??,celà m'intéresse fortementBonne journée Link to comment Share on other sites More sharing options...
Dominique Fleury Posted August 2, 2010 Share Posted August 2, 2010 Je n'ai pas de solution pour le prix le plus bas, mais le code pour afficher "à partir de" marche nickel.Merci ! Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 14, 2011 Share Posted January 14, 2011 merci pour ce code qui fonctionne très bien.par contre qqun aurait une idée pour modifier l'apparence de ce texte?j'ai utilisé firebug pour voir ou se trouvais le code dans le css mais pas moyen "d'examiner" l'objet avec firebug.je ne suis pas assez douée pour savoir comment faire ca.merci d'avance. Link to comment Share on other sites More sharing options...
alex1501 Posted January 14, 2011 Share Posted January 14, 2011 bonjour, votre code marche parfaitement, bonne continuation Link to comment Share on other sites More sharing options...
polux Posted April 1, 2011 Share Posted April 1, 2011 Bonjour, Avec la dernière version de Prestashop, le fichier product-list.tpl n'est plus structuré de la même façon...Pourriez-vous me dire quelles sont les lignes à remplacer et par quel code.Merci à la communauté. Link to comment Share on other sites More sharing options...
BrunoJWest Posted June 21, 2011 Share Posted June 21, 2011 Bonjour,je remonte le sujet, car j'ai absolument besoin d'afficher le "à partir de" lorsqu'il y a des déclinaisons au produit. Sachant que pour le choix du produit par défaut je prend la déclinaison la moins chère (au moins pour que ça colle avec le "à partir de").J'ai eu beau modier le product-list.tpl comme indiqué ou avec diverses variantes prises sur d'autres topic, rien n'y fait. voici tout le début du bloc de droite .. où rajouter le test et la mention "à partir de" lorsque le nombre d'attribut est différent ou supérieur à 0 ??? .. Merci d'avance !!! {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}{l s='On sale!'} {elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}{l s='Reduced price!'}{/if} {if isset($product.online_only) && $product.online_only}{l s='Online only!'}{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} {/if} {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}{/if} Link to comment Share on other sites More sharing options...
Thierryh Posted June 21, 2011 Share Posted June 21, 2011 {if $product.id_product_attribute!='0'}A partir de :{/if} Ceci affiche A partir de uniquement pour les produits qui ont des déclinaisons. J'ai testé sur PS 1.4.Pour l'affichage du prix, pour que le prix de la déclinaison la moins cher soit affiché, il faut que cette même déclinaison soit la déclinaison par défaut.Thierry Link to comment Share on other sites More sharing options...
BrunoJWest Posted June 21, 2011 Share Posted June 21, 2011 Bonjour Thierry et mercij'ai aussi PS 1.4hélas j'ai essayé de l'intégrer dans le coded'abord à la 8° ligne du bloc que j'ai décrit ci-dessuspuis à la 10°chargé à chaque fois le fichier mais rien n'y fait.le A partir de de s'affiche pas ...je dois passer à côté d'un truc évident mais je ne vois pas quoi.exemple à la 8° ligne : ou à la 10° ligne imbriqué dans un autre IF : qu'est ce que je ne fais pas bien ?Bruno {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}{l s='On sale!'} {elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}{l s='Reduced price!'}{/if} {if isset($product.online_only) && $product.online_only}{l s='Online only!'}{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} {if $product.id_product_attribute!='O'}A partir de :{/if} {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} {/if} {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}{/if} {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}{l s='On sale!'} {elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}{l s='Reduced price!'}{/if} {if isset($product.online_only) && $product.online_only}{l s='Online only!'}{/if} {if $product.id_product_attribute!='O'}A partir de :{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} {/if} {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}{/if} Link to comment Share on other sites More sharing options...
Thierryh Posted June 21, 2011 Share Posted June 21, 2011 Avez-vous vidé le cache PrestaShop (tools/smarty/compile) ou bien forcé la recompilation (menu Préférences/Performance/Forcer la compilation) ?Eventuellement, petit test à faire :1/ ajouter un msg quelconque ("hello !") avant le {if...}. Ce texte devra alors s'afficher. Si ce n'est pas le cas c'est que le cache n'a pas été vidé ou PS n'a pas recompilé2/ en début du TPL, mettre {debug} afin que les données smarty de la page s'affiche dans une fenêtre séparée, et cela vous permettra de voir la valeur exact de $product et de tous ses champs.Thierry Link to comment Share on other sites More sharing options...
BrunoJWest Posted June 21, 2011 Share Posted June 21, 2011 Merci beaucoup, j'essaie tout à l'heure.Bonne soirée Link to comment Share on other sites More sharing options...
BrunoJWest Posted June 21, 2011 Share Posted June 21, 2011 .... ça marche ...Merci encore ...Bruno Link to comment Share on other sites More sharing options...
neji72 Posted July 4, 2011 Share Posted July 4, 2011 Bonjour,J'ai le même problème mais ce que je souhaite faire c'est mettre "à partir de " uniquement sur les déclinaisons de prix parce qu'avec la méthode utilisée, ça marque "à partir de " également sur les déclinaisons couleurs.Merci par avance pour votre aide.Cyril Link to comment Share on other sites More sharing options...
Emoma Posted July 4, 2011 Share Posted July 4, 2011 Bonjour j'ai le même problème que Cyril. Et quelqu'un a trouvé comment afficher le prix le plus bas généré par une réduction par quantité?Merci Link to comment Share on other sites More sharing options...
juliensynapsy Posted July 15, 2011 Share Posted July 15, 2011 Bonjour,D'après ce que j'ai compris, dans la page liste des produits, on n'a pas les dégressifs, il faut donc modifier le fichier Category.php pour pouvoir les utiser.Sur ma version de presta, la 1.4.2, j'ai fait comme ça:Modification du fichier category.php:A la fin de la fonction getProducts (L.534), j'ai ajouté: /* Modify SQL result */ $resultArray = array(); foreach ($result AS $row) { $productid = $row['id_product']; $sql = 'SELECT MIN(`price`) AS mindeg FROM `'._DB_PREFIX_.'specific_price` WHERE `id_product` = '.$productid; $deg = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql); $row['deg'] = $deg[0]['mindeg']; $resultArray[] = $row; } return Product::getProductsProperties($id_lang, $resultArray); Et dans le fichier product-list.tp, je peux utiliser la variable deg: {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}{if isset($product.deg)}{l s='From'}{/if} {if !$priceDisplay}{if isset($product.deg)}{convertPrice price=$product.deg*(1+($product.rate/100))|floatval}{else}{convertPrice price=$product.price}{/if}{else}{convertPrice price=$product.price_tax_exc}{/if} {/if} 1 Link to comment Share on other sites More sharing options...
hulk Posted September 19, 2011 Share Posted September 19, 2011 J'ai utiliser la même manipulation (avant de découvrir ce post) pour afficher le prix le plus bas sur ma boutique 1.2.5, alors j'ai ajouté cette requête après la ligne 71 du fichier category.php : $attributeCombinations = Db::getInstance()->ExecuteS('SELECT pac.`id_attribute`, pa.`id_product`,pa.`price` FROM `'._DB_PREFIX_.'product_attribute` pa LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON (pa.`id_product_attribute` = pac.`id_product_attribute`) WHERE pac.`id_attribute`= xx'); $smarty->assign('prixbas', $attributeCombinations); puis ajouter ce bout de code dans le fichier product-list.tpl du thème : {foreach from=$prixbas item=pbas name=pbas} {if $pbas.id_product == $product.id_product} {assign var='prixdec' value=$product.price+$pbas.price} {convertPrice price=$prixdec} {/if}{/foreach} cela m'affiche le prix le plus bas mais pas pour quelques produits épuisé parce que dans la liste des produit initiale du prestashop c'est programmé pour afficher le prix de la déclinaisons par défaut dont je l'ajoute le montant de la déclinaisons la plus bas prix mais c pas toujours le même cas surtout pour les produits épuisés ou parfois prestashop (sans ma manipulation) m'affiche le prix de la première déclinaison dans la liste (et c'est pas la déclinaison par défaut), alors je veut savoir comment récupérer le prix TTC de mon produit dans ma première requête dans le fichier category.php quelque soit le prix de la déclinaison par défaut et comme ça j'aurais le prix le plus bas dans ma liste des produits. Link to comment Share on other sites More sharing options...
537718 Posted September 21, 2011 Share Posted September 21, 2011 {if $product.id_product_attribute!='0'}A partir de :{/if} Ceci affiche A partir de uniquement pour les produits qui ont des déclinaisons. J'ai testé sur PS 1.4. Pour l'affichage du prix, pour que le prix de la déclinaison la moins cher soit affiché, il faut que cette même déclinaison soit la déclinaison par défaut. Thierry Bonjour, j'ai collé ce bout de code {if $product.id_product_attribute!='0'}A partir de :{/if} dans le fichier product-list.tpl mais le "A partir de" n'apparait pas... pourtant j'ai bien pris le soin de vider le cache de mon navigateur. Y-a_t_il un endroit précis ou coller ce bout de code dans le fichier product-list.tpl ? Quelqu'un peut-il m'aider ? merci Link to comment Share on other sites More sharing options...
537718 Posted September 21, 2011 Share Posted September 21, 2011 merci Link to comment Share on other sites More sharing options...
polux Posted November 21, 2011 Share Posted November 21, 2011 Bonjour, Je me permets de remonter le poste. Le code {if $product.id_product_attribute!='0'}A partir de :{/if} Marche parfaitement, cependant il affiche " a partir de" lorsque le produit à 0 ou plus d'attributs. Je cherche à modifier ce code pour que "a partir de" s'affiche seulement lorsque le produit possède certains attributs... Une idée? Merci à tous Yann Link to comment Share on other sites More sharing options...
polux Posted November 21, 2011 Share Posted November 21, 2011 Je précise, par exemple j'ai un atttribut taille, un attribut longueur sur un produit. La longueur engendre une augmentation de prix. Sur un autre produit, j'ai un attribut couleur, un autre attribut taille, donc ici aucun des attributs n'engendre une augmentation de prix. Enfin, sur un autre produit, j'ai un attribut diamètre et un attribut couleur. l'attribut diamètre engendre une augmentation de prix. Donc le code cité dans le post ci-dessus n'est pas valable pour moi car un produit peut avoir certains attributs qui n'engendrent pas d'augmentation de prix. Merci de votre aide.. Yann Link to comment Share on other sites More sharing options...
roisong Posted January 13, 2012 Share Posted January 13, 2012 Bonjour, D'après ce que j'ai compris, dans la page liste des produits, on n'a pas les dégressifs, il faut donc modifier le fichier Category.php pour pouvoir les utiser. Sur ma version de presta, la 1.4.2, j'ai fait comme ça: Modification du fichier category.php: A la fin de la fonction getProducts (L.534), j'ai ajouté: /* Modify SQL result */ $resultArray = array(); foreach ($result AS $row) { $productid = $row['id_product']; $sql = 'SELECT MIN(`price`) AS mindeg FROM `'._DB_PREFIX_.'specific_price` WHERE `id_product` = '.$productid; $deg = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql); $row['deg'] = $deg[0]['mindeg']; $resultArray[] = $row; } return Product::getProductsProperties($id_lang, $resultArray); Et dans le fichier product-list.tp, je peux utiliser la variable deg: {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}{if isset($product.deg)}{l s='From'}{/if} {if !$priceDisplay}{if isset($product.deg)}{convertPrice price=$product.deg*(1+($product.rate/100))|floatval}{else}{convertPrice price=$product.price}{/if}{else}{convertPrice price=$product.price_tax_exc}{/if} {/if} J'ai aussi enlever le bouton "Ajouter au panier" pour éviter d'induire les clients en erreur. Bonjour j ai besoin exactement de ce que julien à fait mais je n'arrive pas à le mettre en oeuvre, j'ai presta version 1.4.6 .J'ai copié le premier code dans dans category.php que j'ai trouvé dans le repertoire "classes" ( est ce le bon ?) et le deuxieme dans productlist.tpl. et là je perds tous mes produits : "aucun produits dans cette catégorie... ) que lqu un peut il m aidé et m expliquer ou mettre exactement ces bouts de code car je ne sais pas trop ou les mettre dans mettre dans les fichiers cités.. ? merci beaucoup. JB Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 17, 2012 Share Posted January 17, 2012 est ce que cette modif permettrait d'obtenir ce qui suit: lorsque par exemple j'ai un produit en 2 conditionnement 500ml et 2L, mon stock est épuisé en 500ml mais pas en 1L, je modifie donc mes déclinaisons et mets la déclinaison par défaut sur le 1L cela évite que les clients pensent que le produit est complétement épuisé. mais du coup dans ma product-list c'est le prix le plus élevé qui s'affiche et non le produit le moins cher. je souhaiterais donc afficher le moins cher, même si la déclinaison par défaut n'est pas la moins cher. j'ai l'impression que le code de julien pourrait faire ca mais avant de me lancer dnas la bidouille je voudrais être sure. merci Link to comment Share on other sites More sharing options...
cockpitinferno Posted January 21, 2012 Share Posted January 21, 2012 up, quelle serait le moyen d'afficher le prix de la déclinaison la moins cher et non de la déclinaison par défaut Link to comment Share on other sites More sharing options...
GhosToM Posted May 9, 2012 Share Posted May 9, 2012 (edited) Je déterre ce topic, j'ai trouvé une soluce pour afficher le prix le plus bas des déclinaisons !! donc ça pourra intéressé des membres de la communauté Edit : Finalement j'ai créé une fonction, c'est plus propre !! D'abord, il faut surcharger la classe SpecificPrice. Donc, créer le fichier override/classes/SpecificPrice.php, avec ce contenu : class SpecificPrice extends SpecificPriceCore { public static function getMinPriceValue($id_product, $price) { $reductions = DB::getInstance()->ExecuteS(' SELECT max(reduction) AS max_reduction, reduction_type FROM `'._DB_PREFIX_.'specific_price` WHERE id_product = '.$id_product.' GROUP BY reduction_type'); foreach($reductions as $reduction){ if($reduction['reduction_type'] == "amount"){ $amount = $reduction['max_reduction'] / 1.196; } else { $percentage = $reduction['max_reduction']; } if($amount > $reduc_percent) { return $price - $amount; } else { return $price * (1 - $percentage); } } } } ] Pour ma part, j'utilise la "Navigation à facettes" donc j'ai modifié le fichier : modules/blocklayered/blocklayered.php. Dans la fonction : public function getProductByFilters($selected_filters = array()) { } juste avant le : return $this->products; J'ai ajouté ce code : if(count($this->products) > 0) { for ($i=0;$i<=count($this->products);$i++){ if(isset($this->products[$i]['id_product']) AND $this->products[$i]['id_product'] != "") { $this->products[$i]['min_price'] = SpecificPrice::getMinPriceValue($this->products[$i]['id_product'], $this->products[$i]['price']); } } } Si vous n'utilisez pas la déclinaison par facette, vous pouvez utiliser la fonction getMinPriceValue dans la fonction getProducts() de la classe Categories.php. Ensuite, dans themes/mon_theme/product-list.tpl, j'ai ajouté ceci : {if !$priceDisplay} {assign var="pprice" value=$product.price} {elseif $product.min_price != 0} {assign var="pprice" value=$product.min_price} <span class="bold">{l s='A partir de'}</span> {else} {assign var="pprice" value=$product.price_tax_exc} {/if} J'ai pas mal modifié mon thème donc je ne sais plus quel est le code de base à remplacer par ceci mais en tout cas ça permet d'avoir le prix le plus bas. A vous de voir où vous voulez l'afficher sur votre page. Edit : ATTENTION : dans la fonction getMinPriceValue(), j'ai mis ceci : $amount = $reduction['max_reduction'] / 1.196; car j'affiche mes prix en HT. Dans le cas du TTC, il ne faut tout simplement pas diviser par 1.196 Enjoy Edited May 12, 2012 by GhosToM (see edit history) Link to comment Share on other sites More sharing options...
nox23 Posted June 13, 2012 Share Posted June 13, 2012 (edited) pour la version 1.4.7.3 de prestashop ps : autoentrepreneur = pas de taxe je me suis inspiré du post du dessus dans product-list.tpl : <div class="but" style="margin-left:10px">{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="pprice" style="display: inline;"> {if !$priceDisplay && $product.min_price} <span class="bold">{l s='A partir de'}</span> {convertPrice price=$product.min_price} {else} {convertPrice price=$product.price}{/if}</span><br />{/if}</div> SprecificPrice.php ne pas oublié les balises php soit : <?php class SpecificPrice extends SpecificPriceCore { public static function getMinPriceValue($id_product, $price) { $reductions = DB::getInstance()->ExecuteS(' SELECT max(reduction) AS max_reduction, reduction_type FROM `'._DB_PREFIX_.'specific_price` WHERE id_product = '.$id_product.' GROUP BY reduction_type'); foreach($reductions as $reduction){ if($reduction['reduction_type'] == "amount"){ $amount = $reduction['max_reduction']; } else { $percentage = $reduction['max_reduction']; } if($amount > $reduc_percent) { return $price - $amount; } else { return $price * (1 - $percentage); } } } } ?> dans blocklayered.php fonction getProductByFilters dans la requete rajouter p.price dans le select sinon il ne trouve pas le prix, changement entre version de prestashop ? SELECT p.id_product, p.on_sale, p.out_of_stock, p.available_for_order, p.quantity, p.minimal_quantity, p.id_category_default, p.customizable, p.show_price, p.`weight`, p.ean13, p.price, pl.available_later, pl.description_short, pl.link_rewrite, pl.name, i.id_image, il.legend, m.name manufacturer_name, p.condition, p.id_manufacturer, DATEDIFF(p.`date_add`, DATE_SUB(NOW(), INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY)) > 0 AS new FROM `'._DB_PREFIX_.'category_product` cp LEFT JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category) LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = cp.`id_product` LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = p.id_product) LEFT JOIN '._DB_PREFIX_.'image i ON (i.id_product = p.id_product AND i.cover = 1) LEFT JOIN '._DB_PREFIX_.'image_lang il ON (i.id_image = il.id_image AND il.id_lang = '.(int)($cookie->id_lang).') LEFT JOIN '._DB_PREFIX_.'manufacturer m ON (m.id_manufacturer = p.id_manufacturer) WHERE p.`active` = 1 AND c.nleft >= '.(int)$parent->nleft.' AND c.nright <= '.(int)$parent->nright.' AND pl.id_lang = '.(int)$cookie->id_lang.' AND p.id_product IN ('.implode(',', $productIdList).')' .' GROUP BY p.id_product ORDER BY '.Tools::getProductsOrder('by', Tools::getValue('orderby'), true).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')). ' LIMIT '.(((int)Tools::getValue('p', 1) - 1) * $n.','.$n)); Edited June 13, 2012 by nox23 (see edit history) Link to comment Share on other sites More sharing options...
Salamandre Posted June 16, 2012 Share Posted June 16, 2012 Bonjour Nox23, j'ai exactement la même version de prestashop et je voulais faire à peu près la même chose à partir de ton code mais rien à faire, ça ne fonctionne pas, il me retourne rien pour $product.min_price. Pour SpecificPrice.php c'est dans override/classes ? Link to comment Share on other sites More sharing options...
cockpitinferno Posted July 6, 2012 Share Posted July 6, 2012 j'ai essayé la modif mais quand je fais l'override, ca me mets une page blanche? Link to comment Share on other sites More sharing options...
Jovicyr Posted September 25, 2014 Share Posted September 25, 2014 Hello, Sous Prestashop 1.5, avez-vous une solution similaire ? Merci d'avance, Link to comment Share on other sites More sharing options...
MonWebOpticien Posted May 7, 2015 Share Posted May 7, 2015 Bonjour, je rafraichis un peu le post car j'ai un petit souci. Sur certain de mes produits j'applique une remise en fonction de la quantité acheté. Pour cela dans la fiche article rubrique prix, j'ai créé un ligne prix spécifique avec la remise proposé à partir d'une certaine quantité. Dans le front cela marche parfaitement. Mais lors de la recherche produit en front cela indique toujours le tarif unitaire. J'aimerai faire afficher le prix le plus bas possible avec la mention " à partir de". Quelqu'un aurait une solution? Merci d'avance Link to comment Share on other sites More sharing options...
zako5555 Posted February 23, 2016 Share Posted February 23, 2016 (edited) Bonjour, je souhaite afficher 'a partir de' a coté de certains produits de certaines catégories et les autres produits des autres catégories que le prix dans la page product list, je suis sur la derniere version de prestashop merci de votre aide. Edited February 23, 2016 by zako5555 (see edit history) Link to comment Share on other sites More sharing options...
Thierry Dérobert Posted July 8, 2016 Share Posted July 8, 2016 Bonjour, Je me permets un petit up du sujet avec la version actuel de PS... Merci de vos retours ! Link to comment Share on other sites More sharing options...
AOD28 Posted December 2, 2016 Share Posted December 2, 2016 Bonjour, Petit déterrage de topic car j'ai besoin de pouvoir afficher "à partir de" sur mes produits. Le premier post du sujet indique ceci : {if !$priceDisplay || $priceDisplay == 2}<div><span class="price" style="display: inline;">{convertPrice price=$product.price}</span>{if $priceDisplay == 2} {l s='+Tx'}{/if}</div>{/if} Hors impossible de mettre la main dessus. J'ai par contre trouvé dans le fichier product-list.tpl les lignes suivantes : {if (!$PS_CATALOG_MODE && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} <div class="content_price" itemprop="offers" itemscope itemtype="https://schema.org/Offer"> {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)} <span itemprop="price" class="price product-price"> {hook h="displayProductPriceBlock" product=$product type="before_price"} {if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} Est-ce que c'est ce code qu'il faut modifier ? J'avoue que sorti du HTML et du CSS, je suis perdue Merci d'avance pour l'aide ! Tiphaine Link to comment Share on other sites More sharing options...
picnoc Posted December 2, 2016 Share Posted December 2, 2016 (edited) Salut,J'ai réglé le sujet dans le product-list.tpl comme ca : {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE} <p class="price_container"> {l s='From'} <span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span> </p> J'ai inséré le {l s='From'}, le from s'inscrit en anglais et je l''ai traduit dans les fichiers de traduction.J'espère t'avoir aidé... Edited December 2, 2016 by picnoc (see edit history) Link to comment Share on other sites More sharing options...
AOD28 Posted December 6, 2016 Share Posted December 6, 2016 Salut,J'ai réglé le sujet dans le product-list.tpl comme ca : {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE} <p class="price_container"> {l s='From'} <span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span> </p> J'ai inséré le {l s='From'}, le from s'inscrit en anglais et je l''ai traduit dans les fichiers de traduction.J'espère t'avoir aidé... Bonjour et Merci Picnoc, Impossible de retrouver tes balises dans ce que j'ai (j'ai la version 1.6), j'ai donc inséré { ls='From'} comme ceci : <div class="content_price" itemprop="offers" itemscope itemtype="https://schema.org/Offer"> {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)} {l s='From'}<span itemprop="price" class="price product-price"> {hook h="displayProductPriceBlock" product=$product type="before_price"} {if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} Mais cela n'affiche rien. Chez moi dans Dreamweaver cela s'affiche entre les lignes 67 et 71. Une idée de pourquoi ça ne fonctionne pas chez moi ? Tiphaine Link to comment Share on other sites More sharing options...
AOD28 Posted December 6, 2016 Share Posted December 6, 2016 Egalement essayé comme ceci : {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} <div class="content_price"> {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)} {hook h="displayProductPriceBlock" product=$product type='before_price'} {l s='From'} <span class="price product-price"> {if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} </span> Mais rien ne s'affiche non plus Link to comment Share on other sites More sharing options...
picnoc Posted December 7, 2016 Share Posted December 7, 2016 Salut, Je ne suis pas un pro de prestashop ni de la programation donc je suis pas forcement le meilleur pour t'aider juste avec de la théorie. Je bidouille pas trop mal mais c'est tout ce à quoi je peux prétendre Me faudrait le lien de ta page et un accès FTP provisoire... c'est un peu beaucoup mais j'ai pas mieux à te proposer. En MP bien sûr... Link to comment Share on other sites More sharing options...
letonton Posted August 5, 2017 Share Posted August 5, 2017 bonjour, Nous avons tenté ceci sur une page catégorie (product-item très précisément). Celà vérifie la présence de déclinaisons mais aussi de l'activation d'un module sur la page... c'est fonctionnel. {if !($product.id_product_attribute == 0)|| $cart->isMegaProduct($product.id_product)} <span class="from-price">{l s='From'}</span>{/if} La même chose ne fonctionne pas sur une page d'article (product). La première partie if isset($groups) fonctionne à merveille. Mais la suite au delà du || n'a aucun succès. Quelqu'un verrait l'erreur ci-dessous? {if isset($groups) || $cart->isMegaProduct($product.id_product)} <span class="from-price">{l s='From'}</span>{/if} Link to comment Share on other sites More sharing options...
bellahssen007 Posted November 20, 2020 Share Posted November 20, 2020 On 6/21/2011 at 1:47 PM, Thierryh said: {if $product.id_product_attribute!='0'}A partir de :{/if} Ceci affiche A partir de uniquement pour les produits qui ont des déclinaisons. J'ai testé sur PS 1.4. Pour l'affichage du prix, pour que le prix de la déclinaison la moins cher soit affiché, il faut que cette même déclinaison soit la déclinaison par défaut. Thierry {if $product.id_product_attribute != 0 && $product.id_product_attribute < $product.price } {l s='A partir de'} {/if} 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