Jump to content

[Résolu] Extraire une variable de l'array $cart ?


Recommended Posts

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 by plaupeur (see edit history)

Share this post


Link to post
Share on other sites

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

  • Like 2

Share this post


Link to post
Share on other sites

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 by plaupeur (see edit history)

Share this post


Link to post
Share on other sites

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.

  • Like 2

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More