Tengo algunas imágenes del interior de enlaces que quiero esencialmente este aspecto:

<a href="/path/to/img.png"><img src="/path/to/img.png" /></a>

Clic en el enlace debe cargar la imagen que contiene. Estoy tratando de utilizar CakePHP HTML helper para ello, como sigue:

<?php
  echo $html->link(
    $html->image('img.png'),
    'img.png',
    array('escape' => false)
  );
?>

Cuando hago esto, sin embargo, me sale el siguiente código:

<a href="/pages/img.png"><img src="/path/to/img.png" /></a>

Sin el uso de direcciones Url absolutas, puedo hacer el enlace del href atributo de punto a la imagen de la ubicación correcta?

Gracias!

InformationsquelleAutor Jared | 2009-12-10

2 Comentarios

  1. 3

    Esto debe hacer el truco:

    echo $html->image('image.png', array('url' => '/' . IMAGES_URL . 'image.png'));
    • Perfecto! Yo no sabía acerca de la IMAGES_URL constante. Gracias.
  2. 4

    también puede hacer esto en 1.2

    echo $html->link(
        $html->image('img.png'),
        'img.png',
        array(),
        null, 
        false
      );

    o en 1.3

    echo $html->link(
        $html->image('img.png'),
        'img.png',
        array(),
        array( 'escape' => false ),     
      );
    • Gracias por la respuesta, pero dejando la URL del enlace como img.png Pastel utiliza el Pages controlador para manejar, con lo que la URL example.com/pages/img.png. Esta es la razón por la IMAGES_URL constante es necesaria. Mi código final parecido a esto: echo $html->link( $html->imagen(‘img.png’), ‘/’ . IMAGES_URL . ‘/img.png’, array(‘escape’ => falso) );

Dejar respuesta

Please enter your comment!
Please enter your name here