是否可以使用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吗?
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中向我展示了这一点。