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

iiz*_*iiz 1 cakephp html-helper image hyperlink

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

这是我目前的文字链接:

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

这是图像助手如何使用链接创建图像:

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

但是,这只允许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?');
Run Code Online (Sandbox Code Playgroud)

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

<img src="/img/clearall.png" alt="Clear list" />
Run Code Online (Sandbox Code Playgroud)

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

swi*_*cki 6

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?'
                                               )); ?>
Run Code Online (Sandbox Code Playgroud)

您也可以在没有帮助器的情况下完成它,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

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