2016-12-27 33 views
0
echo $this->Html->link(
    '<span class="glyphicon glyphicon-remove"></span> Cancel',  
    array(
     'action'=>'index', 
     'page:'.$this->request->data['Transaction']['page'] 
    ), 
    array(
     'class'=>'btn btn-default', 
     'escape'=>false 
    ), 
    'Do you want to cancel ?' 
); 
+1

什么问题是什么呢? explian! –

+0

如果你想在输入字段中显示一些标记,那么你必须使用它。 – aavrug

+0

@sarvesht请添加一点说明,以便读者可以确定实际预期的投票。 –

回答

0

$title中的HTML特殊字符将被转换为HTML实体。要禁用此转换,我们设置$options数组中的逃生选项设置为false:

$this->Html->link($title, $url, $options); 

阅读:Manual

0

因为你的标签是HTML而不是纯文本。

你不想插入文字<span class="glyphicon glyphicon-remove"></span>文字,你想要一个HTML标签来显示一个图标。

// lib/Cake/View/Helper/HtmlHelper.php 
    if (isset($options['escapeTitle'])) { 
     $escapeTitle = $options['escapeTitle']; 
     unset($options['escapeTitle']); 
    } elseif (isset($options['escape'])) { 
     $escapeTitle = $options['escape']; 
    } 

    if ($escapeTitle === true) { 
     $title = h($title); 
    } elseif (is_string($escapeTitle)) { 
     $title = htmlentities($title, ENT_QUOTES, $escapeTitle); 
    } 
0

所有HTML字符将在默认视图中逃脱,就好像你就可以使用htmlentities(),所以出于这个原因,由CakePHP的助手($this->Html->link()在这种情况下)创建的所有元素都需要帕拉姆'escape' => false避免该转换,试图在标签中使用嵌套标签或嵌套HTML等。

Reference

相关问题