ultraxa Posted December 6, 2012 Share Posted December 6, 2012 bonjour je souhaiterais afficher la valeur d'un champs sur une page avec smarty champs qui se trouve dans la table "product" merci Link to comment Share on other sites More sharing options...
SoluNeXT Posted December 7, 2012 Share Posted December 7, 2012 {$variable} Link to comment Share on other sites More sharing options...
ultraxa Posted December 7, 2012 Author Share Posted December 7, 2012 {$variable} ? c'est a dire? suite à un autre topic sur la creation d'un nouveau champs dans la table "product" , je cherche deseperemment a ffaicher ce nouveau champs ça marche dans certain tpl mais pas dans d'autre , je cherche donc une maniere universelle d'affichuer le champs "monchamps" de la table "product " faut il creer une requete quelque part ? Link to comment Share on other sites More sharing options...
franckm1000 Posted December 8, 2012 Share Posted December 8, 2012 (edited) Je peux pas m'empêcher de répondre, c'est plus fort que moi... Suivant la page où tu veux l'afficher. Par exemple pour product.tpl ce sera controller/productController.php. Pour category.tpl ou product-list.tpl issu de category.tpl ce sera controller/CategoryController.php etc... Si tu es sur 1.4 tu ajoutes après le code suivant: public function displayContent() { Si tu es sur 1.5 tu ajoutes après le code suivant: public function initContent() { Tu ajoutes donc: global $smarty; $mes_produits=Db::getInstance()->ExecuteS("select * from "._DB_PREFIX_."product"); $smarty->assign('mes_produits',$mes_produits); Et côté TPL le code suivant: {foreach from=$mes_produits item=$mon_produit} {$mon_produit.mon_champs} {/foreach} A noter que sur prestashop 1.5 niveau PHP ce serait plus clean de faire: $mes_produits=Db::getInstance()->ExecuteS("select * from "._DB_PREFIX_."product"); $this->context->smarty->assign('mes_produits',$mes_produits); Edited December 8, 2012 by franckm1000 (see edit history) Link to comment Share on other sites More sharing options...
ultraxa Posted December 10, 2012 Author Share Posted December 10, 2012 (edited) merci pour les infos !!! je vais essayer tous cela de suite !! ... ......... mais j'ai beau exécuter les recommandations mais ça ne fonctionne pas , je n'ai rien qui s'affiche .... alors je vais faire mon tetu mais je ne vois pas pourquoi ça fonctionne sur product.tpl sans rien modifier et sur product_list .tpl , il fait faire des modifs je me base tous simplement sur le champs on_sale qui est identique si tel est le cas de modifier dans CategoryController.php , ça voudrait dire que le chamsp on_sale s'y trouverait egalement j'essaye de trouver comment on fait pour afficher le champs "on_sale" Edited December 10, 2012 by ultraxa (see edit history) Link to comment Share on other sites More sharing options...
franckm1000 Posted December 10, 2012 Share Posted December 10, 2012 (edited) Et si le code PHP tu le mets dans le controller product ça donne quoi ? Fais un debug ou un {$mes_produits|print_r} pour voir ce que ça donne. Edited December 10, 2012 by franckm1000 (see edit history) Link to comment Share on other sites More sharing options...
ultraxa Posted December 10, 2012 Author Share Posted December 10, 2012 (edited) j'ai peut etre un debut de reponse: j'ai fait un debug {$product|print_r} et voila ce qui s'affiche, au debut j'ai bien on_sale =1 et a la fin j'ai egalement onsale=0 et monchamps =0 alors celui çi est bien a 1 dans ma base: Array ( [id_product] => 25 [on_sale] => 1 [out_of_stock] => 2 [available_for_order] => 1 [quantity] => 0 [minimal_quantity] => 1 [id_category_default] => 1 [customizable] => 0 [show_price] => 1 [weight] => 0 [ean13] => [available_later] => message hors stock [description_short] =>description courte [link_rewrite] => refg [name] => essai [id_image] => 25-588 [legend] => refg [manufacturer_name] => fabricant1 [condition] => new [id_manufacturer] => 373 [new] => 0 [allow_oosp] => 0 ...... .... [on_sale] => 0 [monchamps] => 0 [id_lang] => 2 [description] =>description_longue [description_short] =>description courte [link_rewrite] => produit-2 [meta_description] => [meta_keywords] => [meta_title] => [name] => produit 2 [available_now] => [available_later] => [id_image] => 589 [legend] => produit 2 [rate] => 19.600 [category_default] => Accueil [pack_quantity] => 1 ) ) [nopackprice] => 119.6 ) 1 alors que je debug ma page product j'obtiens : Product Object ( [tax_name] => deprecated [tax_rate] => 0 [id_tax_rules_group] => 1 [id_manufacturer] => 373 [id_supplier] => 0 ....... [on_sale] => 1 [online_only] => 1 [monchamps] => 1 ... Edited December 10, 2012 by ultraxa (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted December 10, 2012 Share Posted December 10, 2012 sur la page product, il n'y a qu'un seul produit affichés, sur la page product-list en général il y a plusieurs produits affichés, d'où le [on_sale] => 1 suivi de [on_sale] => 0 Link to comment Share on other sites More sharing options...
ultraxa Posted December 10, 2012 Author Share Posted December 10, 2012 en regardant le debug , ca veut dire aussi que monchamps est bien la mais il n'interprete pas la valeur sur la page product, il n'y a qu'un seul produit affichés, sur la page product-list en général il y a plusieurs produits affichés, d'où le [on_sale] => 1 suivi de [on_sale] => 0 je ne comprend pas ce que tu veux dire Link to comment Share on other sites More sharing options...
franckm1000 Posted December 10, 2012 Share Posted December 10, 2012 Dans tous les cas, la méthode que je t'ai donné fonctionne crois-moi je l'ai déjà utilisé un paquet de fois et elle devrait te donner ce que tu cherches... Le problème est que tu mélanges un peut tout avec les variables objet type $product de la page produit et la "pseudo-variable" $product de product-list.tpl qui un item de la variable $productS. Link to comment Share on other sites More sharing options...
coeos.pro Posted December 10, 2012 Share Posted December 10, 2012 1- comme le dit franck, tu mélange un peu tout 2- tu ne précise pas ce que veux... un exemple dans ton message http://www.prestashop.com/forums/index.php?/topic/208975-afficher-une-valeur-dun-champs-avec-smarty/page__view__findpost__p__1033771 tu mets le résultat pour une page product et product-list, mais quel est le problème ? il y en a un qui est "mauvais" ? Link to comment Share on other sites More sharing options...
ultraxa Posted December 10, 2012 Author Share Posted December 10, 2012 (edited) je veux afficher "promo" sur ma fiche produit et dans mes catégories comme "solde" c'est pour cela que j'ai creer une nouvelle case a cocher "promo" pour que quand je fais des promos , j'affiche un petit logo PROMO et quand je fais des soldes j'affiche "SOLDE" dans ma page produit , cela s'affiche bien mais pas dans mes categorie , seul solde s'affiche il ya plein d'autre exemple ou l'on pourrait ajouter des case a cocher ex: la gestion des nouveaux produit par defaut n'est pas adaptés pour moi , c'est gerer par date alors que quand on ajoute un produit , ça ne veut pas dire que ce produit est nouveau alors qu'une case a cocher dans chaque produit permettrait d'afficher un logo "nouveau" 1 case a cocher pour afficher un logo "bonne affaire " ect ect .... Edited December 10, 2012 by ultraxa (see edit history) Link to comment Share on other sites More sharing options...
ultraxa Posted December 11, 2012 Author Share Posted December 11, 2012 j'avoue que je ne trouve pas....... Link to comment Share on other sites More sharing options...
ultraxa Posted December 13, 2012 Author Share Posted December 13, 2012 lorsque j'indique {$mes_produits|print_r} , ça m'affiche "1" Link to comment Share on other sites More sharing options...
franckm1000 Posted December 13, 2012 Share Posted December 13, 2012 Ca veut certainement dire que la variable est vide. Tu as inséré le code PHP dans quel fichier: productcontroller ou categorycontroller ? Tu travailles sur 1.4 ou 1.5 ? Link to comment Share on other sites More sharing options...
ultraxa Posted December 13, 2012 Author Share Posted December 13, 2012 (edited) alors je viens de verifier une chose j'ai fait un debug sur {$mes_produits|print_r} et voila le resultat du 1er produit: Array ( [id_product] => 25 [on_sale] => 1 [out_of_stock] => 2 [available_for_order] => 1 [quantity] => 0 [minimal_quantity] => 1 [id_category_default] => 1 [customizable] => 0 [show_price] => 1 [weight] => 0 [ean13] => [available_later] => message hors stock [description_short] =>description courte [link_rewrite] => ref [name] => essai [id_image] => 25-588 [legend] => refg [manufacturer_name] => marque [condition] => new [id_manufacturer] => 373 [new] => 0 [allow_oosp] => 0 [id_product_attribute] => 0 [category] => home [link] => [attribute_price] => 0 [price_tax_exc] => 200 [price] => 239.2 [price_without_reduction] => 239.2 [reduction] => 0 [specific_prices] => [features] => Array ( [0] => Array ( [name] => Forme [value] => base mustang [id_feature] => 19 ) [1] => Array ( [name] => Forme [value] => bass mustang [id_feature] => 11 ) ) [attachments] => Array ( ) [pack] => [packItems] => Array ( ) [nopackprice] => 0 ) par contre , jj'ai un autre produit avec un pack! et la le debug m'affiche la meme chose que ci dessus + le debug du pack!! avec mon champs pour ce qui concerne ta question :je l'ai mis dans categorycontroller et dans productcontroller et sur ps1.4 je desepere pas , on va y arriver !! Edited December 13, 2012 by ultraxa (see edit history) Link to comment Share on other sites More sharing options...
ultraxa Posted December 13, 2012 Author Share Posted December 13, 2012 (edited) question peut etre deja repondu mais je la pose quand meme : a quel endroit , va t'on chercher les champs de la base de données de la table product ? si l'on suit le processus , on va bien voir la ou ca coince? non car lorsque l'on regarde le debug de {$product|print_r} ,il n'affiche que des chamsp bien particulier car meme le online_only ne s'affiche pas et je viens de me rendre compte que lorsque je coche cette case "exclu web " , ca ne sa'ffice pas ... c'est bizarre .............. Edited December 13, 2012 by ultraxa (see edit history) Link to comment Share on other sites More sharing options...
ultraxa Posted December 13, 2012 Author Share Posted December 13, 2012 y'aurait il un autre moyen de faire la memem chose mais en tant que module sans modifier les fichiers php ? Link to comment Share on other sites More sharing options...
ultraxa Posted December 13, 2012 Author Share Posted December 13, 2012 (edited) nouveau rebondissement !!! lorsque je fais une recherche du produit en question (par les 1ere lettres) ça marche !!! j'ai bien une liste de produit commençant par les même lettres avec les nouveau champs j'ai donc regardé le tpl search.tpl , il fait appel au product_list donc se differencie entre le searchcontroller et le categorycontroller Edited December 17, 2012 by ultraxa (see edit history) Link to comment Share on other sites More sharing options...
ultraxa Posted December 17, 2012 Author Share Posted December 17, 2012 un petit up 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