template - smarty php install
Crear una matriz en la plantilla de smarty? (5)
Esta pregunta ya tiene una respuesta aquí:
Necesito crear una nueva matriz a partir de otra matriz unidimensional en la plantilla de smarty. Entonces, ¿cuáles son las mejores posibilidades para crear una matriz en un archivo de plantilla?
Gracias sachin
Desde el punto de vista de MVC, la parte de Vista solo es responsable de mostrar los datos. Le animo a que reconsidere la aplicación de tal manera que le permita procesar los datos en el Modelo y pasarlos para que se muestren solo en la Vista.
En el pasado, he usado dos enfoques, uno malo y otro sucio, para asignar rápidamente una matriz dentro de 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"}
Ambos dan como resultado que su matriz esté disponible dentro de la plantilla para crear un bucle simple. De todos modos, siempre terminaba cambiando mi código de esta manera, por lo que no necesitaba nada.
En realidad es muy simple:
{assign ''myArray'' [''cat'', ''dog'', ''rabbit'']}
No aconsejo esto, pero este complemento lo permite: http://smarty.incutio.com/?page=set
Smarty3 te permite {$var = [''foo'' => ''bar'', ''sub'' => [1, 2, 3]]}
y {$var.foo = ''other''}
Si esas opciones no son suficientes, escriba una función de complemento .