Página 1 de 1

Cómo hacer LOOP dentro de otro LOOP en HTML::Template

NotaPublicado: 2009-04-04 12:03 @544
por danimera
Lo que necesito es hacer un LOOP dentro de otro LOOP.

La idea es que recorro registros por medio de un TMPL_LOOP y pues cada registro de estos tiene un select() con varias opciones.

Algo más o menos así:
Sintáxis: [ Descargar ] [ Ocultar ]
  1. <TMPL_LOOP REGISTROS> 
  2.  
  3. <TMPL_VAR NAME=NOMBRE> 
  4.  
  5. <SELECT> 
  6. <TMPL_LOOP CATEGORIAS> 
  7. <OPTION><TMPL_VAR NAME=NOMBRE_CATEGORIA> </OPTION> 
  8. </TMPL_LOOP> 
  9. </SELECT> 
  10.  
  11. </TMPL_LOOP> 


Pero los LOOP vienen de datos diferentes:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$template->param(CATEGORIAS     =>  \@listado_categorias );
    $template->param(REGISTROS => \@miniaturas);
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿Cómo podría resolver esto? Si hay otra idea mejor...

Bueno, estoy trabajando bajo C:A y pues otra alternativa sería utilizar FORM::Builder, generar los formularios con él, pero mmmmm, no sé si será más complicado. Leo sugerencias.

NotaPublicado: 2009-04-04 13:18 @596
por explorer
En la última parte de la sección TMPL_LOOP de la documentación de HTML::Template hay un ejemplo de cómo organizar la estructura de datos para hacer un doble bucle.

Básicamente, consiste en que a cada TMP_LOOP se le da una referencia a un cierto número de referencias a diccionarios, y en cada uno de ellos contienen los valores que tomarán las variables en cada pase del bucle.