リンクのついた画像をHtmlヘルパーで表示する方法がCakePHP1.3から変更になりました。
CakePHP1.2までであればこれは
$html->link($html->image('sample.png'), array('action' => 'hoge'), null, null, false);
と書けました。
第5引数のタイトル文字のエスケープ設定にfalseをセットし、imgタグをエスケープせずに、そのまま出力しています。
ですが、
CakePHP1.3からはこのやり方ができなくなってしまいました。
1.2
HtmlHelper#link($title, $url = null, $options = array(), $confirmMessage = false, $escapeTitle = true);
1.3
HtmlHelper#link($title, $url = null, $options = array(), $confirmMessage = false);
と$escapeTitle引数が削除されてしまいました。
エスケープができないんじゃ、画像表示されないじゃん!!と早合点したあなた、安心してください。
CakeBookによれば$options['escape']を使用してくださいとのことです。
なるほど。
というわけで、前置きが長くなりましたがCakePHP1.3からはリンク付きの画像を出力するには
$html->link($html->image('sample.png'), $url, array('escape' => false));
のようにします。
すこし、スマートになった気がしていいですね。