Jal-art Posted March 24, 2011 Share Posted March 24, 2011 Bonjour,J'aimerais afficher l'ancien prix et le pourcentage dans le module produits phares. Sur prestashop 1.3, j'utilisais dans homefeatured.tpl :Pour le prix :{if $product.reduction_price != 0 || $product.reduction_percent != 0}{convertPrice price=$product.price_without_reduction}{/if}Pour le pourcentage (ou réduction){if $product.reduction_percent != 0}-{$product.reduction_percent}%{/if}{if $product.reduction_price != 0}-{$product.reduction_price}{$currency->sign}{/if}Sur la nouvelle version l'erreur ci-dessus m'est retourné :“Notice: Undefined variable: special in .../.../tools/smarty/sysplugins/smarty_internal_data.php on line 291”J'ai récupéré les codes du block promotion (blockspecials.tpl) :{if !$priceDisplay}{displayWtPrice p=$special.price_without_reduction}{else}{displayWtPrice p=$priceWithoutReduction_tax_excl}{/if}et (-{$specific_prices.reduction * 100|floatval}%)Mais rien a faire cela ne fonctionne pas, si vous avez une solution ou des pistes, je vous remercie d'avance de m'éclairer.Cordialement Link to comment Share on other sites More sharing options...
Broceliande Posted March 24, 2011 Share Posted March 24, 2011 “Notice: Undefined variable: special in …/…/tools/smarty/sysplugins/smarty_internal_data.php on line 291 Tu as récupéré le code du blockspecial, mais dans homefeatured le tableau de résultats n'est pas dans $special , mais $product Ex :{displayWtPrice p=$product.price_without_reduction} Link to comment Share on other sites More sharing options...
Jal-art Posted March 25, 2011 Author Share Posted March 25, 2011 Merci beaucoup, ça marche nikel.J'ai essayé de récupérer cette fois-ci le pourcentage de réduction avec "$product.reduction_percent" est ça plante. Link to comment Share on other sites More sharing options...
xmatox Posted March 25, 2011 Share Posted March 25, 2011 Bonjour,j'essaie de faire pareilet j'arrive pas non plus à récupérer le pourcentage de la réduction $product.reduction_percent ne retourne rienJ'arrive pas non plus a détecter si il y a réduction sur le produit ou non {if ($product.reduction_price != 0 || $product.reduction_percent != 0) && ($product.reduction_from == $product.reduction_to || ($smarty.now|date_format:'%Y-%m-%d' <= $product.reduction_to && $smarty.now|date_format:'%Y-%m-%d' >= $product.reduction_from))} marche pasmerci Link to comment Share on other sites More sharing options...
Broceliande Posted March 25, 2011 Share Posted March 25, 2011 Homefeatured utilse la methode getProducts de la classe Category.blockspecials utilise la methode getRandomSpecial de la classe Produit.Dans le deuxieme cas, les informations complémentaires de prix sont chargées.Dans le premier , elle ne le sont pas.Si on veut ces infos dans homefeature, il faut d'abord modifier le php, avant d'assigner la variable $products , il faut parcourir ses données dans un foreach et charger les infos complémentaires...du style: function hookHome($params) { global $smarty; $category = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); foreach($products as &$product) { $product=Product::getProductProperties($cookie->id_lang, $product); } $smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home'))); return $this->display(__FILE__, 'homefeatured.tpl'); } avec un peu de chance, on devrait pouvoir ajouter ça dans homefeatured.tpl {if $product.specific_prices} {assign var='specific_prices' value=$product.specific_prices} {if $specific_prices.reduction_type == 'percentage' && ($specific_prices.from == $specific_prices.to OR ($smarty.now|date_format:'%Y-%m-%d %H:%M:%S' <= $specific_prices.to && $smarty.now|date_format:'%Y-%m-%d %H:%M:%S' >= $specific_prices.from))} (-{$specific_prices.reduction * 100|floatval}%) {/if} Une précision : c'est pas du tout testé ... 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