CakePHP: Imágenes dentro de enlaces
9/06/2008Usando 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.
No comments yet.