Skip to main content

Personalizando sfWidgetFormJQueryDate

Llevo 3 semanas trabajando en un proyecto con symfony, a pesar de que existe bastante documentacion acerca del framework es muy facil perderse entre toda la informacion y si le agregamos las distintas versiones de symfony, los 2 tipos de ORM (propel/doctrine) las diferentes maneras de hacer las cosas segun que tan bien hayas definido tus modelos, pues encontrar como hacer algo especifico suele ser bastante tedioso, asi que conforme avance en mi proyecto ire poniendo uno que otro tip de como pude resolver los problemas que me encontre...

Iniciare con el conocido sfWidgetFormJQueryDate, el cual nos da una interfaz para el datepicker de Jquery UI, la documentacion esta bien... pero yo queria el calendario en español, inline (que se mostrara sin necesidad de hacer click en una imagen o un input) y con limite de fechas a escoger:




Para conseguirlo utilice el siguiente codigo en la forma:

'start' => new sfWidgetFormJQueryDate(array('culture'=>'es',
'config' => "{minDate: -1, maxDate: '+1M +1D'}",));
Se podria incluso tomar los valores de minDate y maxDate del app.yaml.

Para cambiar la forma en que el calendario se muestra lo que hice fue editar directamente la clase sfWidgetFormJQueryDate.class.php del plugin sfFormExtraPlugin y cambiar en la funcion render el renderTag de input a div:

$this->renderTag('div', array('type' => 'hidden',
'size' => 10,'id' => $id = $this->generateId($name).'_jquery_control',
'disabled' => 'disabled')

Probablemente mañana con menos sueño agregue el codigo necesario para parametrizar el inline del sfWidgetFormJQueryDate... por hoy es todo.

Comments

David Suárez said…
Gracias! He utilizado tu guía y me ha funcionado. Sin embargo, preferí crear una nueva clase dentro del plug in: "sfWidgetFormJQueryCustomDate" y realizar ahí los cambios.

Algo que me gustaría hacer es quitar los input para elegir el día, mes y año de forma individual. Ya veré como lo hago.
David Suárez said…
Gracias! He seguido tus pasos y lo he logrado, aunque creé una nueva clase sfWidgetFormJQueryCustomDate para no tocar la original del plugin. En mi caso, me gustaría incluso quitar los input del día, mes y año, aunque no he averiguado como.

Un saludo!
AnTiLo0p said…
el problema de quitarlos pudiera ser que si no tiene JS no veria absolutamente nada, al menos con los inputs puedes aun usar la pagina si no tienes habilitado JS...

Popular posts from this blog

Ya tengo nuevo Disco

Pues eso... no podia estar mucho tiempo sin usar mi laptop y el fin de semana pasado me fui al DF a comprarme un nuevo disco: 80 Gb, 5400 revoluciones :) y de paso un case para accesar al disco nuevo a traves de USB.

Receta para preparar Cabeza de Res

Ingredientes 1 cabeza Costilla cargada de res unos pedazos para el sabor. Naranja agria o limón ( para lavar la Cabeza) 1/4 de chile guagillo 2 cabezas de ajo 1 cebolla 1/2 manojo de hoja de aguacate 2 hojas de momo o hier a santa (opcional) 3 cdas de mostaza 4 cdas de mayonesa Salsa inglesa al gusto 1 pedazito Achiote anita 1/2 taza de vinagre Comino al gusto Oregano al gusto Mejorana al gusto Tomillo al gusto Sal al gusto. Procedimiento -Se pone a cocer la carne ( previamente lavada con naranja agria o limon) con sal en la olla express o en olla normal con suficiente agua para que quede consome.  Que se cubra toda la cabeza con agua. - Se licua el Chile guagillo, ajo, cebolla, mayonesa , mostaza, inglesa , achiote y vinagre una vez licuado vaciar la mezcla colada a la cabeza. -Le agregas  el tomillo, mejorana, aguacate, momo y laurel a la olla. Si tienes hoja de platano con eso tapas la cabeza. Duracion de coccion es de 7 hrs aproximadamente para una cabeza.  SI TIENES ...

Sophie Baby Sounds Privacy Policy

Privacy Policy Rigoberto Reyes built the Sophie Baby Sounds app as a Free app. This SERVICE is provided by Rigoberto Reyes at no cost and is intended for use as is. This page is used to inform website visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy. The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Sophie Baby Sounds unless otherwise defined in this Privacy Policy. Information Collection and Use This  Service  does not require you to provide us with any personally identifiable information.  The  Service...