Knp Menu Builder菜单,带有字体真棒图标

时间:2013-11-02 11:40:32

标签: php symfony twitter-bootstrap-3 knpmenubundle knpmenu

我尝试在php中创建一个菜单构建器,以重现此代码:

         <ul class="nav nav-pills">
            <li class="first"><a title="Voir panier"
                href="{{ path('cs_web_homepage') }}"> <i
                    class="fa fa-shopping-cart icon-large"></i> Voir Panier
            </a></li>

            {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %} 
                <li><a title="Mon compte"
                    href="{{ path('fos_user_profile_show') }}"><i
                        class="fa fa-user icon-large"></i> Mon compte
                </a></li>
                <li><a title="Déconnexion"
                    href="{{ path('fos_user_security_logout') }}"><i
                        class="fa fa-power-off icon-large"></i> Déconnexion
                </a></li>
            {% else %}
                <li><a title="Connexion"
                    href="{{ path('fos_user_security_login') }}"><i
                        class="fa fa-lock icon-large"></i> Connexion
                </a></li>
                <li class="last"><a title="Register"
                    href="{{ path('fos_user_registration_register') }}"> <i
                        class="fa fa-user icon-large"></i> Inscription
                </a>
                </li>
            {% endif %}
        </ul>

所以,我从这段代码开始:

public function mainMenu(FactoryInterface $factory, array $options)
{
    $request = $this->container->get('request');
    $securityContext = $this->container->get('security.context');

    $menu = $factory->createItem('root', array(
        'childrenAttributes' => array(
            'class' => 'nav nav-pills'
        )
    ));

    $menu->addChild('cart', array(
        'route' => 'cultural_store_web_homepage',
        'linkAttributes' => array('title' => 'Voir Panier'),
        'labelAttributes' => array('icon' => 'icon-user')))->setLabel('Voir Panier');

    return $menu;

}

但是,图标未添加。 我也试着说:

$menu->addChild('cart', array(
        'route' => 'cs_web_homepage',
        'linkAttributes' => array('title' => 'Voir Panier')))
        ->setLabel('Voir Panier')
        ->addChild('icon' => array('class' => 'fa fa-shopping-cart');

但它不起作用...... 我真的不明白如何使用图标孩子..

任何帮助?

THX

1 个答案:

答案 0 :(得分:0)

已发布与您的方法类似的问题。您可以为您的目的转换代码。请参阅:KnpMenuBundle - send Options and use them in Twig