Bar*_*cki 12 symfony knpmenu knpmenubundle
我想渲染一个HTML
标签,如:
$menu->addChild('Dashboard', array(
'route' => 'dashboard',
'label' => '<i class="fa-icon-bar-chart"></i><span class="hidden-tablet"> Dashboard</span></a>',
'extra' => array('safe_label' => true)
)
);
Run Code Online (Sandbox Code Playgroud)
我在渲染时传递了正确的选项:
{{ knp_menu_render('WshCmsHtmlBundle:Builder:mainMenu', {'allow_safe_labels': true} ) }}
Run Code Online (Sandbox Code Playgroud)
但我的标签仍在逃脱.我究竟做错了什么?
Bar*_*cki 17
好的,答案是!
您在菜单项上设置了额外的项目,而不是"额外"键,而是"额外"键.所以当你设置这样的项目时:
$menu->addChild('Dashboard', array(
'route' => 'dashboard',
'label' => '<i class="fa-icon-bar-chart"></i><span class="hidden-tablet"> Dashboard</span></a>',
'extras' => array('safe_label' => true)
)
);
Run Code Online (Sandbox Code Playgroud)
它工作正常!
Fyo*_*orX 11
实现这一目标有两个步骤.
你必须设置safe_label
到true
在extras
.请注意,您现在可以HTML
在标签上写下来.
$menu->addChild('Home<i><b></b></i>', array(
'route' => 'homepage',
'extras' => array(
'safe_label' => true
),
));
Run Code Online (Sandbox Code Playgroud)
您必须过滤输出,knp_menu_render()
以便打印raw HTML
(请参阅文档).
{{ knp_menu_render('main', {'allow_safe_labels': true}) | raw }}
Run Code Online (Sandbox Code Playgroud)
请注意,这可能很危险.从文档:
请谨慎使用,因为如果标签来自用户,它可能会在您的应用程序中创建一些XSS漏洞.
归档时间: |
|
查看次数: |
3474 次 |
最近记录: |