Alex Rivera | Logout

CakePHP - how to use Helpers to make an image link with target="_blank"

Asked 2011-03-31T01:46:08.387
14

This seems like it should be simple, but I'm new to CakePHP. Maybe it's just something I should write in good ole HTML, but - was hoping to find out how do to this with CakePHP's HTML helper.

I just want an image link that has target="_blank".

This is what I tried:

<?php echo $this->Html->link($this->Html->image('tmp/728x90.jpg',
    array('alt'=>'advertisement', 'height'=>'90', 
    'width'=>'728')),'http://www.google.com', array('target'=>'_blank')); ?>

(all in one line - just broke up for ease of viewing)

But when I do this, I get this:

<a href="http://www.google.com" target="_blank">&lt;img src=&quot;/img/tmp/728x90.jpg&quot; alt=&quot;advertisement&quot; height=&quot;90&quot; width=&quot;728&quot; /&gt;</a>

Any help is greatly appreciated.


Answer (thanks deceze)

<?php 

$image = $this->Html->image(
    'tmp/300x600.jpg', 
    array(
        'alt'=>'advertisement', 
        'height'=>'600', 
        'width'=>'300'
    )
);

echo $this->Html->link(
    $image,
    'http://www.google.com', 
    array(
        'target'=>'_blank', 
        'escape' => false
    )
); ?>
Edit
Report

2 Answers

0

Like mentioned in the Cook Book, you can use the 'url' option of the image method:

echo $this->Html->image("recipes/6.jpg", array(
   'alt' => "Brownies",
   'url' => array('controller' => 'recipes', 'action' => 'view', 6)
));
answered 2013-06-19T18:35:59.957
-1

echo $html->link("more",array('controller' => 'users', 'action' => 'index/welcome'), array('style'=>'_blank'), false, false);?> image('more-arrow.png', array('alt' => 'more','height'=>'11','width'=>'17'))?>

answered 2011-04-05T13:04:26.297

Your Answer