在CakePHP 3中自定义锚标记

时间:2015-10-18 07:12:29

标签: php html html5 cakephp cakephp-3.0

我目前在CakePHP 3应用程序的default.ctp菜单中使用以下语法

<li class="first"><a href="<?php echo $url; ?>users/dashboard"><span class="glyphicon glyphicon-th-list"></span><br>Dashboard</a></li>

现在问题出现了,如果我尝试用CakePHP 3语法编写标签,如下所示:

<li><?php   echo $this->Html->link('Dashboard',['controller'=>'Users', 'action'=>'view','_full'=>true]);?></li>

正如您所看到的那样,没有地方可以将标签放在上面,因为该字形会从菜单中消失。

有没有找到我无法找到的方法?

4 个答案:

答案 0 :(得分:6)

使用'escape' => false解决您的问题

 <li>
        <?php   
            echo $this->Html->link(
                '<span class="glyphicon glyphicon-th-list"></span><br>Dashboard',
                  array('controller'=>'Users', 'action'=>'view','_full'=>true),
                  array('escape' => false)  // important  
                );
        ?>
 </li>

对于cakephp 3

 <?php   
         echo $this->Html->link(
            '<span class="glyphicon glyphicon-th-list"></span> <br>Dashboard',
             ['controller'=>'Users', 'action'=>'index','_full'=>true],
             ['escape' => false]  // important 
         );
 ?>

答案 1 :(得分:0)

如果您没有使用HTML链接助手,可以使用更短的方式,更少的PHP代码Url Helper

<?= $this->Url->build(['controller'=>'Users', 'action'=>'view','_full'=>true]); ?>

并创建菜单/ html链接

<li class="first">
 <a href="<?= $this->Url->build(['controller'=>'Users', 'action'=>'view','_full'=>true]); ?>">
   <span class="glyphicon glyphicon-th-list"></span>
   Dashboard
 </a>
</li>

答案 2 :(得分:0)

使用escapeTitle选项。

$this->Html->link(
    '<span class="glyphicon glyphicon-th-list"></span><br>Dashboard',
    ['controller'=>'Users', 'action'=>'view','_full'=>true],
    ['escapeTitle' => false]
);

答案 3 :(得分:-1)

尝试使用:

echo $this->Html->link(
    $this->Html->tag('span', '', array('class' => 'glyphicon glyphicon-th-list')) . "Dashboard",
    array('controller' => 'users', 'action' => 'view'), 
    array('escape'=>false)
);