php - KnpMenuBundle - 如何为菜单的每个元素设置图标类?

标签 php symfony knpmenubundle knpmenu

我希望我的 View 代码如下所示:

<li>
    <a href="path/to/action">
            <i class="icon-class"></i>
            <span class="title">Title</span>
    </a>
</li>

我通过 Menu Builder 创建菜单元素:

class Builder extends ContainerAware
{
    public function adminMenu(FactoryInterface $factory, array $options)
    {
        $menu = $factory->createItem('root');

        $menu->addChild('Dashboard', array(
            'route' => 'admin_dashboard',
        ));

        return $menu;
    }
}

我已经用以下代码 (knp_menu.html.twig) 覆盖了 View :

{% block linkElement %}
    {% import _self as knp_menu %}
    <a href="{{ item.uri }}"{{ knp_menu.attributes(item.linkAttributes) }}>
        <i class="icon-class"></i>
        <span class="title">{{ block('label') }}</span>
    </a>
{% endblock %}

我如何将图标类名称的值传递给 <i>方法 adminMenu() 中的元素,在 Builder 类中?最简单的方法是什么?

最佳答案

你可以添加任何你想要的属性

$menu->addChild('Dashboard', array(
    'route' => 'admin_dashboard',
))->setAttribute('icon', 'icon-class');

然后

{{ item.attribute('icon') }}

关于php - KnpMenuBundle - 如何为菜单的每个元素设置图标类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747502/

相关文章:

javascript - 动态下拉菜单,$_GET 带空格

php - 三分之二的值会进入下一页,第一个不会

php - 如何在 Symfony 2 控制台命令中使用我的实体和实体管理器?

symfony - 如何使用 KNP Menu Bundle 2 创建面包屑?

html - KnpMenuBundle 需要在链接中添加自定义的 css 和 html

Symfony 5.0 和 KnpMenuBundle - 如何配置

php - 修改 PHP 电子邮件中的日期标题?

php - 在数组中添加引号并将其传递到 mysql 数据库的最佳方法是什么

javascript - Symfony2 - Assets 不加载

php - 如何在 DBALException 后重新打开 Doctrine Entity Manager