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"><img src="/img/tmp/728x90.jpg" alt="advertisement" height="90" width="728" /></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
)
); ?>
<?php echo $this->Html->link($this->Html->image('fb2.jpg',array('alt'=>'facebook', 'height'=>'90','width'=>'728')),'http://www.facebook.com', array('target'=>'_blank','escape'=>false)); ?>
You need to tell HtmlHelper::link
not to HTML escape the input.
This is all very well documented in the manual.
The exact code will be like this
<?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',
'escape'=>false)
);
?>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With