Bloques
Helper trae un nuevo manejo de bloques, que es muy rapido de utilizar, compuesto de tres funciones
Vista->startBlock(nombre)
Esta función reemplaza al set_block de Template, su funcionamiento es igual.
El parámetro nombre es el nombre del bloque definido dentro del template, por ejemplo:
$vista->startBlock("items");
Vista->parseBlock(nombre)
Esta función reemplaza al parse de Template, su funcionamiento es igual para bloques.
El parámetro nombre es el nombre del bloque definido dentro del template, por ejemplo:
$vista->parseBlock("items");
Vista->makeBlock(valores, nombre)
Crea un bloque en la Vista a partir del arreglo valores donde nombre es el nombre del bloque. También abre el bloque, por lo tanto no necesita de startBlock() ni de parseBlock(). $users[0]['nombre'] = "Agustin Bosso";
Este ejemplo parsea 3 usuarios dentro del bloque "Usuarios".
$users[1]['nombre'] = "Pablo Oneto";
$users[2]['nombre'] = "Juan Miranda";
$vista->makeBlock($users,"Usuarios");
Una funcionalidad muy útil, es parsear resultados directamente desde la BD.
$users = $db->query_array("SELECT nombre FROM users",__FILE__,__LINE__);
$vista->makeBlock($users,"Usuarios");
Si valores contiene una sola dimensión, se parsea en la variable "_value", por ejemplo:
$users[] = "Pablo";
$users[] = "Juan";
$vista->makeBlock($users,"Usuarios"); // listara en {_value} "Pablo" y luego "Juan"
Vista->makeBlock(valores, nombre, [translate])
Si se especifica un translate (mayor a 0), makeBlock intentará parsear este valor en una variable llamada "_translate". Por cada valores la variable translate avanza en 1.
Por ejemplo:
$users = $db->query_array("SELECT * FROM atleta ORDER BY tiempo ASC LIMT 0,3",__FILE__,__LINE__);
$vista->makeBlock($users,"Usuarios",100); // el idioma 100 equivale a "Medalla de Oro"; el 101 es "Medalla de Plata"; el 102 es "Medalla de Bronce"
Este ejemplo pruduce una lista que distingue a los medallistas de una competencia.