将 Yii2 Bootstrap 小部件的 'label' 中的字符串渲染为 HTML

Render string in 'label' of Yii2 Bootstrap widget as HTML

我正在使用 Yii2 的 Bootsrap Tabs 小部件 (yii\bootstrap\Tabs -- http://www.yiiframework.com/doc-2.0/yii-bootstrap-tabs.html)

我想插入 HTML 标记作为 label 键的值到构建此小部件的数组中。

我尝试将 'encode' => true 的键 => 值对作为可选数组元素之一,但没有任何作用。

这是我的代码:

<?=
Tabs::widget([
    'navType' => 'nav-pills',
    'options' => ['class' => 'course-manager'],
    'items' => [
        [
            'label' => '<i class="fa fa-book"></i>&nbsp;Show Books',
            'encode' => true,
            'content' => '<h2>Anim pariatur cliche...</h2>',
            'active' => true
        ],
        [
            'label' => '<i class="fa fa-graduation-cap"></i><span>&nbsp;Show Students</span>',
            'encode' => true,
            'content' => 'Anim cliche...',
        ],
        [
            'label' => '<i class="fa fa-tags"></i><span>&nbsp;Show Licenses</span>',
            'encode' => true,
            'url' => 'http://www.example.com',
        ],
    ],
]);
?>

这些标签显示为文本而不是 HTML。

如果您希望呈现 html 代码,您应该使用 'encodeLabels' => false,

Tabs::widget([
  'navType' => 'nav-pills',
  'options' => ['class' => 'course-manager'],
  'encodeLabels' => false,
  'items' => [
    [
        'label' => '<i class="fa fa-book"></i>&nbsp;Show Books',
        'content' => '<h2>Anim pariatur cliche...</h2>',
        'active' => true
    ],