问题:
如果您想在Zend Framework 2导航中放置HTML标记,例如像这样:
<?php
'navigation' => array(
default' => array(
array(
'label' => '<i class="fa fa-home"></i>Home',
'route' => 'home',
),
...
我们希望用视图助手显示它
<?php echo $this->navigation('navigation')->menu())?>
... ZF将自动转义所有HTML标记。结果将是:
<i class="fa fa-home"></i>Home (No HTML markup was rendered.)
那么我们如何在菜单标签中呈现HTML标记?
答案 0 :(得分:3)
我想自己回答这个问题,因为我无法在其他任何地方找到答案,这对你有帮助。
解决方案非常简单。视图帮助器$this->navigation('navigation')->menu()
有一个方法可以完成这个!该方法称为->escapeLabels()
。只需添加它即可完成:
<?php echo $this->navigation('navigation')->menu()->escapeLabels(false)?>
警告:当然,从您无法信任的来源(例如用户输入)渲染非转义文字时要小心。