plaupeur Posted July 22, 2012 Share Posted July 22, 2012 (edited) Bonjour ! Une nouvelle question pour la communauté. Je cherche à faire un test dans un de mes .tpl afin d'afficher quelque chose dans le cas où le produit actuel du panier est TRUC. J'ai cru comprendre que ce genre d'infos étaient stockées dans la variable (globale ?) : $cart Donc pour pouvoir extraire l'info qui m'intéresse, j'ai fais un : {$products = $cart->getProducts()} Ensuite, j'arrive à afficher l'intégralité du tableau avec : { print_r($products) } Par contre pas moyen d'extraire juste la donnée qui m'intéresse. En l'occurrence [id_product] j'ai fais quelques essais, mais aucune des tentatives ci-dessous n'a été concluante : {print_r($products[id_product])} {$products[id_product]} {$products[6]} J'ai même testé le fait d'activer les tags {php} afin d'utiliser du code php classique; et il parait d'ailleurs que c'est pas conseillé. Mais la variable $cart ne semble pas exister dedans. Si quelqu'un à donc la syntaxe correcte qui me permette de récupérer une variable d'un tableau, je suis preneur ! Edited July 22, 2012 by plaupeur (see edit history) Link to comment Share on other sites More sharing options...
OSFormation Posted July 22, 2012 Share Posted July 22, 2012 Bonjour, avec Smarty, on accède aux données d'un tableau avec le . (point). Par exemple : {$products = $cart->getProducts()} {$products.0.name} affichera le nom du premier produit contenu dans le panier. Fredj 2 Link to comment Share on other sites More sharing options...
plaupeur Posted July 22, 2012 Author Share Posted July 22, 2012 (edited) Mais pourquoi j'hésites encore avant de poser mes questions à la communauté?! Plusieurs heures de recherche et une nouvelle réponse salvatrice de Fredj ! Par curiosité, le 0 correspond à quoi ici : le fait que ce soit le dernier ajouté ? Si tu as une lecture à me conseiller sur ce sujet, n'hésites pas. Donc pour ceux que ça intéresse, voici le code qui me permet de tester l'ID du dernier produit ajouté et d'agir en fonction : {$products = $cart->getProducts()} {if $products.0.id_product == '53'} <div style="blabla..."> C'est bien le produit ayant 53 comme ID. </div> {else} <div style="blabla..."> Ca n'est pas le bon. </div> {/if} Merci encore! Edited July 23, 2012 by plaupeur (see edit history) Link to comment Share on other sites More sharing options...
OSFormation Posted July 24, 2012 Share Posted July 24, 2012 Par curiosité, le 0 correspond à quoi ici : le fait que ce soit le dernier ajouté ? Le 0 permet d'accéder au premier élément du tableau, si vous mettez 1 vous aurez le deuxième etc. Plus simplement faites une boucle du genre : {$cart_products = $cart->getProducts()} <pre>{$cart_products|print_r}</pre> {foreach from=$cart_products item=cart_product name=cart_products} {$cart_product.name} <br /> {/foreach} Ceci vous affiche les noms de tous les produits du panier... A vous de jouer ensuite. 2 Link to comment Share on other sites More sharing options...
plaupeur Posted July 24, 2012 Author Share Posted July 24, 2012 C'est parfaitement clair, merci beaucoup ! 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