0

我想转换这个 html 代码

<a class="dropdown-toggle" href="#" data-toggle="dropdown">
    Company <b class="caret"></b>
</a>

变成cakephp 这样:

<?php 
echo $this->Html->link(
    'Company'  $this->Html->tag('b', '', array('class' => 'caret')),
    '#',
    array(
        'class'=>'dropdown-toggle',
        'data-toggle'=>'dropdown',
        'escape'=>false
    )
) ?>

但它在我的布局中显示了意外的行为。我该如何解决?

4

2 回答 2

0

试试这个代码片段

<?php 
    echo $this->Html->link('Company' . $this->Html->tag('b', '', array('class' => 'caret')), '#',
    array('class' => 'dropdown-toggle', 'data-toggle' => 'dropdown','escape' => false));
?>
于 2013-07-24T05:30:04.043 回答
0

只写纯html

问题中所需的标记不包含任何变量 - 除非问题中没有提到任何好处,否则KISS要做的就是将标记保留为纯 html。

使用 html 帮助程序

如果由于某种原因(我真的想不出任何原因)标记“必须”来自助手调用,至少没有必要调用tag

<?php 
echo $this->Html->link(
    'Company <b class="caret"></b>',
    '#',
    array(
        'class' => 'dropdown-toggle',
        'data-toggle' => 'dropdown',
        'escape' => false
    )
) ?>

使用escape => false(奇怪的是在问题的代码中 - 实际代码不同吗?除了语法错误之外,问题中的代码完全按照要求执行)将阻止 Cake 转换<&lt;.

于 2013-07-24T08:35:07.713 回答