2012-01-27 08:55 @413 |
|
|
PipoRide
Perlero Nuevo
|
Registrado: 2012-01-27 08:07 @380 Mensajes: 13
|
|
|
Consulta sobre push()
|
|
He empezado a realizar mi práctica profesional junto a Perl y llevo unas semanas aprendiendo gracias a este foro.
Mi consulta, que no pude encontrar en temas antiguos, es esta:
Estoy trabajando con Catalyst y HTML::FormFu.
El tema es que le paso valor mediante un array a los select que tengo en el .yml:
... my @ambientes = ("Produccion", "Beta", "Staging"); my @ambientes_h; foreach (@ambientes) { push(@ambientes_h, [$_, $_]); } ... $select_ambientes->options(\@ambientes_h); ...
Esto funciona perfecto mostrando en el HTML mi select con un value y el nombre así:
<option value="Produccion">Produccion</option> <option value="Beta">Beta</option> <option value="Staging">Staging</option>
Ahora mi pregusta es:
¿Mediante el push() puedo ingresarle una clase también? Cosa que en el HTML me lo muestre así:
<option value="Produccion" class="uno">Produccion</option> <option value="Beta" class="uno">Beta</option> <option value="Staging" class="dos">Staging</option>
Sería de mucha ayuda si se pudiese. Gracias.
|
2012-01-27 12:55 @580 |
|
|
PipoRide
Perlero Nuevo
|
Registrado: 2012-01-27 08:07 @380 Mensajes: 13
|
|
|
Re: Consulta sobre push()
|
|
Muchas Gracias. Sí, disculpa, se me olvidó poner esa línea:
my $select_ambientes = $form->get_element({ name => 'ambiente_id', type => 'Select'});
donde: my $form = $c->stash->{form};
y mi .yml es:
--- indicator: submit
elements: ... - type: Select name: ambiente_id label: Seleccione Ambiente ...
|
2012-01-27 16:45 @740 |
|
|
 |
explorer
Administrador
|
Registrado: 2005-07-24 18:12 @800 Ubicación: Valladolid, España Mensajes: 10249
|
|
|
Re: Consulta sobre push() RESUELTO
|
Creo que ya lo tengo. Según HTML::FormFu::Element::Select, hay que definirlo en el fichero yaml, pero también se puede hacer en el array que creas: Using perl Syntax Highlighting foreach (@ambientes) {
push @ambientes_h, {value => $_, label => $_, attributes => { class => 'uno' } };
}
Al menos, esto es lo que he deducido viendo el código de HTML::FormFu::Util.
_________________ JF^D Perl programming
|
2012-01-30 07:09 @340 |
|
|
PipoRide
Perlero Nuevo
|
Registrado: 2012-01-27 08:07 @380 Mensajes: 13
|
|
|
Re: Consulta sobre push()
|
Wooooow! Muchísimas gracias. Sorry la demora en responder, pero el fin de semana no tenía dónde probar el código. De verdad un increíble foro, lo recomendaré a mis compañeros. Pueden dar el tema por RESUELTO al igual que la mayoría ¡ Gracias !
|
2012-01-30 16:30 @729 |
|
|
PipoRide
Perlero Nuevo
|
Registrado: 2012-01-27 08:07 @380 Mensajes: 13
|
|
|
Re: Consulta sobre push()
|
Explorer, disculpa molestarte de nuevo pero por curiosidad... ¿Cómo podría ponerle clase a un <div> que envuelve mi select? Me explico... Tengo ahora en mi HTML lo siguiente: Using html4strict Syntax Highlighting <div class="select label">
<label>Seleccione Maquina</label>
<select name="maquina_id">
<option class="Beta" value="1001">1001</option>
<option class="Staging" value="1">1</option>
<option class="Produccion" value="No Existe Maquina">No Existe Maquina</option>
</select>
</div>
En la primera línea me muestra <div class="select label"> pero esta clase me la asigno por defecto. ¿Cuál sería la forma de cambiarlo? ¿En el push() o directamente en mi .yml? Saludos.
|
2012-01-30 16:43 @738 |
|
|
 |
explorer
Administrador
|
Registrado: 2005-07-24 18:12 @800 Ubicación: Valladolid, España Mensajes: 10249
|
|
|
Re: Consulta sobre push()
|
|
Es que no sé si el fichero yaml lo generas de forma dinámica, o se trata de entramado prefabricado, como si fuese una plantilla...
La regla básica sería: todo aquello que se repite, y que es igual, en todas las salidas, debe ir en una plantilla o en un sistema fijo (como un fichero yaml fijo, por ejemplo). Y todo lo demás, toda salida dinámica, lo haremos por programa.
Pero hay matices... Por ejemplo, una vez hice una página que consistía en diversos bloques (<div> o <td>) que, cada uno, era el resultado de una salida dinámica. Entonces, debería generarlos todos por programa... pero también es cierto que muchos de ellos siempre salían con el misma aspecto o estructura (una o más <table> anidadas)... así que la solución fue híbrida: todos esos bloques tenían su propia mini-plantilla. Cogía las mini-plantillas, las rellenaba con contenido dinámico, por programa, y el resultado era un nuevo contenido que se metía en las zonas dinámicas de la plantilla global.
Depende del resultado final, claro. Incluso se podría hacer todo dinámico, sin usar ningún sistema de plantillas (cosa que no me gusta, porque entonces dejamos al diseñador web fuera de juego).
_________________ JF^D Perl programming
|
2012-01-31 07:51 @369 |
|
|
PipoRide
Perlero Nuevo
|
Registrado: 2012-01-27 08:07 @380 Mensajes: 13
|
|
|
Re: Consulta sobre push()
|
Así es, lo tengo como plantilla. Al final lo que hice fue envolver los select en bloques y darles un id al bloque  Quedando así: - elements:
- ...
- - type: Block
- id: id_bloque_tcs
- name: bloque_tcs
- elements:
- - type: Select
- name: tc
- label: Seleccione TestCase
- id: id_testcase
- ...
De igual forma muchas gracias por la explicación. Saludos.
|
|
Página 1 de 1
|
[ 9 mensajes ] |
|
| Reglas del Foro |
No puedes abrir nuevos temas en este Foro No puedes responder a temas en este Foro No puedes editar tus mensajes en este Foro No puedes borrar tus mensajes en este Foro No puedes enviar adjuntos en este Foro
|
|
Socializa |
 |
|