Aplicar CJUIDatePicker a todos los campos fecha

Hola a todos.

Mi primer post.

Yo me he hecho a lo largo de los años una ‘especie de entorno’ (no lo llamaría framework) con el que manejo los proyectos, más o menos complejos.

Ahora estoy explorando y aprendiendo éste framework que tiene muy buena pinta, con sus cosillas, como todos, que usa lo que vengo usando habitualmente Blueprint, JQ y JQUI.

La culpa de escoger Yii es sobre todo por los comentarios que he visto en el foro, y la comunidad pequeña pero activa, y en éste caso, no me meto directamente con el inglés como en tantos otros foros, sino que voy a foro español, y espero que con el tiempo, yo también pueda aportar algo.

Estoy evaluando cosas como forms divididos (tabbed forms), inserts en varias tablas, con o sin transactions, funcionalidades con elementos de JQuery y JQUI, etc…

Explico mi caso.

Supongamos que tengo un form (ActiveRecord) que tiene varios campos (attributes) que pueden ‘coger’ el datepicker.

Todos los campos están nombrados en la tabla como fecha_XXX (fecha_modificacion, fecha_venta, fecha_inicio, fecha_final, …).

Cada campo deberá llamar al datepicker con sus atributos correspondientes. Uno tendrá un límite de fecha mínimo y fecha máximo, otro no podrá seleccionar los meses y años, otro tendrá una restricción para la fecha a introducir entre hoy y un mes, etc…

Es posible aplicar una llamada a Datepicker común para todos los campos que empiecen por fecha_, Y luego aplicarle las restricciones por cada campo?

Mi código en el views/articulo/_form :

<div class="row">


	<?php echo $form->labelEx($model,'fecha_venta'); ?>

<?php

	&#036;this-&gt;widget('zii.widgets.jui.CJuiDatePicker', 


		array(


		'language' =&gt; 'es', 


		'model' =&gt; &#036;model,


		'attribute'=&gt;'fecha_venta', 'options' =&gt; array(


			'changeMonth' =&gt; 'true',


			'changeYear' =&gt; 'true',


			'showButtonPanel' =&gt; 'true', 


			'constrainInput' =&gt; 'false')


	)); 

?>

	&lt;?php echo &#036;form-&gt;error(&#036;model,'fecha_venta'); ?&gt;


&lt;/div&gt;

En un prototipo que tengo en jQ sin el framework simplemente hago la llamada al datepicker en lo que sería mi main.php, o un index.php, no sé si la equivalencia es la adecuada:

$(function() {

$( ‘input[id^=“fecha”]’ ).datepicker();

}

Y me lo aplica sobre todos los campos cuyo id (en html) empiece por ‘fecha’.

Preguntas:

Hay que hacerlo en views o sería mejor en el controller o en el model?

O habría que hacerlo uno a uno en cada campo en el views/articulo/_form, que tampoco presenta mayor problema?

Es por ir atando conceptos.

Gracias anticipadas.

Yo también soy novato con yii, aunque ya tengo varios proyectos en marcha sin problemas.

El tema de usar el widget es no tener que poner el código javascript por un sitio, y el js por otro. directamente en la vista llamas al widget, y ya te pone todo.

Si quieres hacerlo en varios sitios a la vez, llamando al datepicker como tu lo has hecho me parece lo más correcto.

Saludos!