在Cakephp HTMLhelper中使用$ confirmMessage警报的图像链接 - 可能吗?

时间:2012-01-09 19:46:06

标签: cakephp hyperlink html-helper image

是否可以使用CakePHP中的html助手创建一个带有弹出警报[$ confirmMessage]的链接的图像?

这是我目前的文字链接:

$this->Html->link('Clear list', array('controller' => 'items', 'action' => 'clearlist', $model['Model']['id']), array(), 'Clear list?')

图像帮助器如何使用链接创建图像:

echo $this->Html->image("recipes/6.jpg", array( "alt" => "Brownies", 'url' => array('controller' => 'recipes', 'action' => 'view', 6)));

然而,这只允许htmlattributes数组作为链接的争论。

$ confirmMessage警报不是html属性吗?

这是我尝试过的代码:

echo $this->Html->link($this->Html->image("clearall.png", array("alt" => "Clear list")), array('controller' => 'items', 'action' => 'clearlist', $model['Model']['id']), array(), 'Clear list?');

但是这段代码为我的img打印了正确的html文本:

<img src="/img/clearall.png" alt="Clear list" />

在这种情况下,我是否必须放弃htmlhelper?

1 个答案:

答案 0 :(得分:5)

CakePHP使用Html帮助程序执行此操作,您非常接近!

<?php echo $this->Html->link($this->Html->image('clearall.png', array(
                                                    'alt' => 'Clear list')
                                               ), array(
                                                    'controller' => 'items',
                                                    'action' => 'clearlist',
                                                    $model['Model']['id']
                                               ), array(
                                                    'escape' => false,
                                                    'confirm' => 'Clear list?'
                                               )); ?>

你也可以在没有帮手的情况下完成它:

<a href="/items/clearlist/<?php echo $model['Model']['id']; ?>"
   onclick="return confirm(&#039;Clear list?&#039;);">
    <img src="/img/clearall.png" alt="Clear list" />
</a>

感谢ADmad和rtconner在IRC中向我展示了这一点。