My code:
<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>
How to add <?php echo $this->Html->link('...') ?>
in CAKEPHP 2.x
答案 0 :(得分:2)
如果要在任何HTML帮助器中插入HTML元素,则必须添加&#39; escape&#39; =&GT;假即可。查看文档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]
);
答案 1 :(得分:0)
如果您要使用Aman的答案,请记住,通过设置'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()
的任何功能,但我怀疑这并不是大多数用户所关注的。