我的代码:
<a href="#">
<div class="list_content">
<p class="title"><?php echo $note['Note']['title']; ?></p>
<p class="create_at"><?php echo $note['Note']['create_at'] ?></p>
<p> <?php echo substr($note['Note']['content'], 0,100) . '...' ?></p>
</div>
</a>
如何在 CAKEPHP 2.x 中添加<?php echo $this->Html->link('...') ?>
如果要在任何HTML帮助程序中插入HTML元素,则必须添加"escape"=> false。检查文档 https://book.cakephp.org/2.0/en/core-libraries/helpers/html.html#HtmlHelper::link
简单的例子:
$this->Html->link('<b>My Content</b>','#',[
'escape' => false
]);
对于您的情况:
$this->Html->link(
$this->Html->div('list_content',
$this->Html->para('title',$note['Note']['title']).
$this->Html->para('create_at',$note['Note']['create_at']).
$this->Html->para(null,substr($note['Note']['content'], 0,100) . '...')
),
'#',
['escape' => false]
);
如果您要使用安缦的答案,请记住,通过设置'escape' => false
,您将禁用默认安全功能。因此,您可能希望确保使用h()
方法转义任何用户输入:-
$this->Html->link(
$this->Html->div('list_content',
$this->Html->para('title', h($note['Note']['title'])).
$this->Html->para('create_at', h($note['Note']['create_at'])).
$this->Html->para(null, substr(h($note['Note']['content']), 0,100) . '...')
),
'#',
['escape' => false]
);
如果你在<a>
标签中有很多标记,有时使用$this->Html->url()
更简单(并且可以导致更易读的代码):-
<a href="<?= $this->Html->url('#') ?>">
<div class="list_content">
<p class="title"><?php echo $note['Note']['title']; ?></p>
<p class="create_at"><?php echo $note['Note']['create_at'] ?></p>
<p> <?php echo substr($note['Note']['content'], 0,100) . '...' ?></p>
</div>
</a>
我知道做第二个示例的唯一真正缺点是你失去了任何可能添加到$this->Html->link()
的功能,但我怀疑这不是大多数用户关心的问题。