Phoogle, Google Maps en PHP y CakePHP
Posted by faemino | Filed under CakePHP, PHP, Recursos
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: Helpers
Imágenes dentro de enlaces
Posted by faemino | Filed under CakePHP
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: Helpers, image, link, vistas
Form Helper, fechas y horas
Posted by faemino | Filed under CakePHP
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'));
CakePHP: Mostrar un elemento checkbox activado
Posted by faemino | Filed under CakePHP
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.