是否可以使用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?
答案 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('Clear list?');">
<img src="/img/clearall.png" alt="Clear list" />
</a>
感谢ADmad和rtconner在IRC中向我展示了这一点。