Thierry Posted July 16, 2008 Share Posted July 16, 2008 Bonjour,Je voudrais afficher le paragraphe descriptif de mes fabricants. Cependant j'ai deux langues sur ma boutique. Si je regarde les infos que me sortent SMARTY grâce au Debug sur la page manufacturer.php, je vois cette objet : Manufacturer Object (7) ->id = 28 ->name = "LifeLab" ->description = Array (2) 1 => "" 2 => "" ->id_address = false ->date_add = "2008-07-16 11:21:20" ->date_upd = "2008-07-16 11:55:18" ->link_rewrite = "LifeLab" (oui je sais, dans cet exemple, il n'y a pas de description de définie )La description est donc un tableau. J'imagine que le chiffre correspond à l'id de la langue. Quel est le bout de code que je dois écrire dans mon .tpl, pour faire ressortir la description correspondante à la langue active?J'ai essayé de mon côté sans succès.Merci pour votre aide. Link to comment Share on other sites More sharing options...
Thierry Posted July 17, 2008 Author Share Posted July 17, 2008 Petit Up.En fait ce que j'aurais bien aimé faire, c'est un truc dans le genre : {$manufacturer->description.{$language.active[spam-filter] Mais bien entendu cela ne plaît pas à SMARTY. J'imagine qu'il doit y avoir un moyen pour afficher le texte dans la bonne langue. Link to comment Share on other sites More sharing options...
Julien Breux Posted July 17, 2008 Share Posted July 17, 2008 Je pense plutôt comme ça {$manufacturer->description.$language.active} ou {$manufacturer->description.$language['active']} Link to comment Share on other sites More sharing options...
Thierry Posted July 17, 2008 Author Share Posted July 17, 2008 Malheureusement cela me sort des erreurs Pour la première solution : Warning: Illegal offset type in /Applications/MAMP/htdocs/tbl_prestashop/tools/smarty/compile/% Link to comment Share on other sites More sharing options...
Julien Breux Posted July 17, 2008 Share Posted July 17, 2008 Oula, j'avais mal lu le premier post.Je pense qu'il va falloir essayer ceci: {$manufacturer->description[$language.active]} Tu es dans quel .tpl ? Car je dit ça de tête :-S Link to comment Share on other sites More sharing options...
Thierry Posted July 17, 2008 Author Share Posted July 17, 2008 C'est la bonne piste!En fait je cherche à afficher cette description sur manufacturer.php et la fiche produit. Pour manufacturer.php c'est bon! Sauf que je m'étais gourré sur la variable pour connaître la langue d'affichée. C'est donc : {$manufacturer->description[$id_lang]} Je comptais appliquer le même principe sur la fiche produit. Malheureusement, il n'y a pas de variable $id_lang sur la fiche produit. J'ai beau cherché un équivalent, mais je n'en vois pas. $lang_iso n'est pas très pratique dans ce cas là.En tout cas merci pour cette première étape. Aurais tu une piste pour le problème de la fiche produit? Link to comment Share on other sites More sharing options...
Pierre-Yves Posted July 17, 2008 Share Posted July 17, 2008 Pour la fiche produit effectivement, aucun assignement n'a été fait pour la variable de langue...Voici une petite modif que tu peux faire pour avoir accès à cela Dans ton fichier product.php (qui est a la base du site), trouves cette ligne (elle est a la fin normalement) : include(dirname(__FILE__).'/footer.php'); Trouvé ? Juste avant celle-ci tu met le code suivant : $smarty->assign('id_lang', intval($cookie->id_lang)); Et voilà! Maintenant via ton template tu peux utiliser le {$id_lang¤ et ça te donner l'id de la langue du visiteur ) Link to comment Share on other sites More sharing options...
Julien Breux Posted July 17, 2008 Share Posted July 17, 2008 Heuuu si ça fonctionne, j'ai envie de dire qu'avec Pierre-Yves, ont est trop fort. :coolsmile: Link to comment Share on other sites More sharing options...
Thierry Posted July 17, 2008 Author Share Posted July 17, 2008 Après avoir un peu bloqué...Je me suis rendu compte qu'il fallait mettre le code non pas juste avant : include(dirname(__FILE__).'/footer.php'); Mais avant : $smarty->display(_PS_THEME_DIR_.'product.tpl'); (bah oui sinon la variable n'est pas dispo pour le template )Résultat cela marche nickel. Merci beaucoup à vous deux. C'est typiquement le genre de bidouille de Prestashop avec lesquels je ne suis pas encore à l'aise.Cela me retire une épine du pied. Bon il en reste un paquet d'autres, mais c'est déjà ça. Link to comment Share on other sites More sharing options...
Julien Breux Posted July 17, 2008 Share Posted July 17, 2008 Avec plaisir, n'hésitez pas à nous sollicité, nous sommes fait pour ça :-p Link to comment Share on other sites More sharing options...
Pierre-Yves Posted July 17, 2008 Share Posted July 17, 2008 Effectivement je me suis trompé :red: (surement un mauvais copier/coller hum hum )Content d'avoir pu t'aider 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