Нет проблем передать функцию Javascript в качестве второго параметра в HtmlHelper::link
. Это должно сделать трюк:
echo $html->link(
$html->image('some.png'),
"javascript:myfunction('Somevar')",
array('escape'=>false)
);
Это вызывает HtmlHelper::link
, передавая изображение (сгенерированное HtmlHelper::image
) в качестве HTML-кода, для которого нужно обернуть <a />
, функцию Javascript в качестве действия ссылки, и информируя Cake о том, что вы не должны избегать HTML, который вы передали.
Обновление:
Вот фрагмент кода для Cake 1.2:
echo $html->link(
$html->image('some.png'),
"javascript:myfunction('Somevar')",
null, null, false
);
Последний false
параметр HtmlHelper::link
указывает Cake не выходить из HTML.