我在Notes表中查看了特定字段。
echo "<div id='notescover'>";
echo "<p class='text'>";
echo $viewnotes['Note']['notes'];
echo "</p>";
echo "</div>";
我已将评论链接到特定的音符URL,例如/ note / view / IDofNote
echo $this->Html->link('Comment', array( 'controller'=>'notes', 'action'=>'view',$viewnotes['Note']['id']), array('class'=> 'light_blue'));
我想删除此链接并将相同的操作链接到上面的div标记。我能够像这样链接字段内的文本
echo $this->Html->link($viewnotes['Note']['notes'], array( 'controller'=>'notes', 'action'=>'view',$viewnotes['Note']['id']), array('class'=> 'light_blue'));
但是我希望整个盒子能够被链接起来。
我该怎么做?
答案 0 :(得分:3)
这样的事情:
$text = '<p class="text">' . $viewnotes['Note']['notes'] . '</p>';
$div = $this->Html->div(null, $text, array('id' => 'notescover'));
echo $this->Html->link(
$div,
array('controller' => 'notes', 'action' => 'view', $viewnotes['Note']['id']),
array('class' => 'light_blue', 'escape' => false)
);
如果您愿意,也可以通过这样做来压缩它:
echo $this->Html->link(
'<div id="notescover"><p class="text">' . $viewnotes['Note']['notes'] . '</p></div>',
array('controller' => 'notes', 'action' => 'view', $viewnotes['Note']['id']),
array('class' => 'light_blue', 'escape' => false)
);
您可以将任何您喜欢的内容添加到Html::link()
的第一个参数中,但如果您要在其中添加标记,而不仅仅是纯文本,那么在链接中包含escape => false
属性非常重要,避免将链接中的HTML特殊字符呈现为文本。
虽然在我看来,当你使用Cake HTML帮助程序来处理任何不简单的事情时,这样的事情变得如此复杂,但是甚至不值得花时间和精力来提出像这样的代码。它还使得阅读代码的方式比它需要的更复杂,特别是当你不得不在以后解密代码时。
答案 1 :(得分:-1)
您可以在Link
函数中使用URL
或HtmlHelper
方法
使用链接
$content = "<div id='notescover'>".
" <p class='text'>" . $viewnotes['Note']['notes'] . "</p>".
"</div>";
echo $this->Html->link( $content,
array( 'controller'=>'notes', 'action'=>'view', $viewnotes['Note']['id']),
array('class'=> 'light_blue', 'escape' => false)
);
使用 URL
在HTML内添加URL
<a href="<?= $this->Html->url(array('controller'=>'notes', 'action'=>'view', $viewnotes['Note']['id']),
array('escape' => false)); ?>"
class="light_blue">
<div id='notescover'>
<p class='text'><?= $viewnotes['Note']['notes']; ?></p>
</div>
</a>