web-dev-qa-db-fra.com

Créer un tableau dans un modèle smarty?

J'ai besoin de créer un nouveau tableau à partir d'un autre tableau unidimensionnel dans le modèle smarty. Alors, quelles sont les meilleures possibilités pour créer un tableau dans un fichier modèle.

Merci, Sachin

21
sachin sawant

Smarty3 vous permet de {$var = ['foo' => 'bar', 'sub' => [1, 2, 3]]} et {$var.foo = 'other'}

si ces options ne suffisent pas, écrivez un fonction plugin .

29
rodneyrehm

Dans le passé, j'ai utilisé deux approches - une mauvaise et une sale - pour attribuer rapidement un tableau à l'intérieur d'un tpl:

{* Am I evil? *}
{php}
    $array = array("cat", "dog", "rabbit");
    $this->assign("myArray", $array);
{/php}

{* Am I dirty? *}
{assign var='myArray' value=','|explode:"cat,dog,rabbit"}

Dans les deux cas, votre tableau est disponible à l'intérieur du modèle pour créer une boucle simple. Quoi qu'il en soit, je finissais toujours par changer mon code de cette façon, donc je n'avais pas du tout besoin de ce genre de choses.

11
DerVO

C'est en fait très simple:

{assign 'myArray' ['cat', 'dog', 'rabbit']}
7
Eugene Kuzmenko

Je déconseille cela, mais ce plugin permet cela: http://smarty.incutio.com/?page=set

1
Jeremy

D'un point de vue MVC, la partie Vue de celui-ci est uniquement responsable de l'affichage des données. Je vous encourage à repenser l'application de manière à ce qu'elle vous permette de traiter les données dans le modèle et de les transmettre pour les afficher uniquement dans la vue.

1
Catalin