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.

Queretaro Sucks...

Acabo de llegar del antro, para ser exactos del cuarto antro de la noche, la razon: estan de hueva los antros en queretaro: 11:00 pm Primero: Fuimos al "Tantra", pues supuestamente iba a estar un DJ reconocido y que a chuchita la bolsearon y a la hora de la hora... de hueva. 12:00 pm Segundo: Seguimos en la misma calle (Constituyentes), y fuimos a donde dizque tocaba un grupo de rock: Oh Desilucion!, entramos al "Purgatorio" y para variar estaban tocando a moderatto y a belinda.. so.. lets get the fuck out of here... 1:00 am Tercer: Nos lanzamos al centro historico esperando enconcontrar un antro con dignidad, llegamos a uno donde supuestamente si tocan rock.. y .. 2-2, por que ni a 2-3 llegaron, cuando despues de 1 hora toco el grupo, empezo con timbiriche y para variar la siguiente rola fue de... adivinaron: moderatto y la perra de belinda again!... bueno al menos ahi si pusieron algo de caifanes, the doors y uno que otro alucine por el estilo. 3:00 am Cuarto: Sal...

New Template - Andreas04 blogger beta

Acabo de modificar el template de mi blog, ya tenia algo de rato queriendolo hacer pero por diversos motivos no lo habia realizado, hoy tuve un rato libre y me dije a mi mismo: chingale a tu blog... El resultado es lo que estas viendo/leyendo ahora mismo, me base en un template que encontre en geckoandfly , la teoria decia que actualizaba el xml, agregaba los modulos adicionales (flickr, feeds, etc) y voila , pero como suele suceder: la teoria no es lo mismo que la practica. El frijol en el arroz fue la implementacion de CSS del IE, en firefox se veia correctamente "mientras" no agregara mas de 2 modulos en la barra de la derecha pues al momento de agregar un tercero, este ultimo se iba hasta el fondo de la pagina, en cambio en el IE, no importaba el numero de modulos, la barra de la derecha "siempre" se iba hasta el fondo; asi que me tuve que hechar un buen clavado en hojas de estilo y despues de aproxidamente 2 horas y la ayuda del dreamweaver pude modificarlo de ...