Phoogle, Google Maps en PHP y CakePHP

Gracias a la librería Phoogle es posible de una manera sencilla añadir unos bonitos mapas de Google Maps a nuestras aplicaciones PHP. Existe un Helper para CakePHP que hace que la integración de esta librería con este framework sea a la vez muy sencilla.

Humildemente he aportado un par de lineas de código a ese helper, creando la versión 0.2.2, para añadir soporte para Panoramio en los mapas que mostremos en nuestra aplicación.

Tags:

Imágenes dentro de enlaces

Usando el helper html para crear enlaces, te puedes encontrar en la situación de tener que crear un enlace que engloba una imagen.

El funcionamiento para crear un elemento enlace típico es el siguiente:

echo $html->link('Texto del enlace', array('controller'=>'controlador', 'action'=>'accion'));

y para crear un elemento imagen es:

echo $html->image('ruta/nombre.jpg', array('alt'=>'alternativa'));

Si esto lo juntamos de la siguiente manera:

echo $html->link($html->image('ruta/nombre.jpg', array('alt'=>'alternativa'), array('controller'=>'controlador', 'action'=>'accion'));

No conseguiremos que nos genere un enlace con una imagen en su interior, sino un “bonito” código html. Esto sucede por que el método del helper link, no interpreta el resultado del método image y muestra el código, no la imagen.
Para solventar esto, debemos pasarle false al quinto parámetro al método link, de la siguiente manera:

echo $html->link($html->image('ruta/nombre.jpg', array('alt'=>'alternativa')), array('controller'=>'controlador', 'action'=>'accion'), false, false, false);

Más información en la referencia del helper html de la API de cakePHP 1.2.

Tags: , , ,

Form Helper, fechas y horas

Hace unos días hablé de cómo modificar los rangos de fechas que aparecen en un selector. Tras el uso de este helper en estos días, he descubierto unos cuantos parámetros que pueden ser de utilidad:

label

Opción común para la mayoría de elementos insertados mediante el método input.

Especifica el label que tendrá el elemento.

echo $form->input('fecha', array('label'=>'Fecha de Nacimiento'));

div

Opción común para la mayoría de elementos insertados mediante el método input.

Si le asignamos false, no englobará el elemento y su label dentro de las etiquetas div. Por defecto el valor es true.

echo $form->input('fecha', array('div'=>false));

minYear

En un elemento select que obtiene la información de un campo date o datetime de una Base de Datos, este parámetro especifica el año mínimo en el rango de selección.

Por defecto es 1988.

echo $form->input('fecha', array('minYear' => '1975'));

maxYear

En un elemento select que obtiene la información de un campo date o datetime de una Base de Datos, este parámetro especifica el año máximo en el rango de selección.

Por defecto es 2028.

echo $form->input('fecha', array('maxYear'=>'2010'));

dateFormat

En un elemento select que obtiene la información de un campo date o datetime de una Base de Datos, este parámetro especifica el año máximo en el rango de selección.

echo $form->input('fecha', array('dateFormat' => 'DMY'));

timeFormat

En un elemento select que obtiene la información de un campo hour o time o datetime de una Base de Datos, este parámetro especifica el formato que tendra, 12 o 24 horas.

Valores: 12 o 24.

Por defecto es 12 horas.

echo $form->input('fecha', array('timeFormat' => '24'));

interval

En un elemento select que obtiene la información de un campo time o datetime de una Base de Datos, este parámetro especifica el intérvalo que habrá entre los valores del selector de minutos.

Por defecto es cada minuto.

echo $form->input('fecha', array('interval' => '15'));

Tags: , ,

CakePHP: Mostrar un elemento checkbox activado

Usando el helper Form para mostar un checkbox puede que nos sea necesario mostrarlo activo ya que por defecto no lo está. Para ello en el array de parámetros del método input o checkbox le pasaremos el key checked con el value checked.

En nuestra vista pondremos:

echo $form->input('activo', array('label'=>'¿Activo?', 'checked'=>'checked'));

Más información sobre el Helper Form.

Tags: ,