我想使用html helper将这个html代码转换为cakephp但是它在我的布局中显示了意外的行为。我该如何解决?

时间:2013-07-23 05:59:42

标签: cakephp

我想转换这个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
    )
) ?>

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

2 个答案:

答案 0 :(得分:0)

试试此代码段

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

答案 1 :(得分: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;