1

我可以查看 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'));

但我想要连接的整个盒子。

我怎样才能做到这一点?

4

2 回答 2

4

像这样的东西:

$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 帮助程序用于任何不简单的事情时,这样的事情变得如此复杂,但编写这样的代码甚至不值得花时间和精力。它还使阅读代码的方式比需要的复杂得多,尤其是当您必须在以后解密代码时。

于 2012-11-06T12:57:39.533 回答
-1

您可以在函数内部使用LinkorURL方法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)
);

使用网址

在 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>
于 2020-04-06T15:18:11.067 回答