2016-04-23 13 views

答えて

0

knp_menu_render機能で、我々はテンプレートAppBundleを呼び出します場合:メニュー:ここにドキュメントのようにSRC/AppBundle /リソース/ビュー/メニュー/ knp_menu.html.twigにデモメニューファイルを移動し、その後 をknp_menu.html.twig:http://symfony.com/doc/current/book/templating.html#template-naming-and-locations

テンプレートの書き込みで

{{ knp_menu_render('AppBundle:Builder:mainMenu', 'template': 'AppBundle:Menu:knp_menu.html.twig'}) }} 

コピーファイル:

工程により

SRC/AppBundle /メニューの10

例/ Builder.php

<?php 
namespace AppBundle\Menu; 

use Knp\Menu\FactoryInterface; 
use Symfony\Component\DependencyInjection\ContainerAwareInterface; 
use Symfony\Component\DependencyInjection\ContainerAwareTrait; 

class Builder implements ContainerAwareInterface 
{ 
    use ContainerAwareTrait; 

    public function mainMenu(FactoryInterface $factory, array $options) 
    { 
     $menu = $factory->createItem('root'); 

     $menu->addChild('Main', array('route' => 'homepage')); 
     $menu->setChildrenAttribute('class', 'nav navbar-nav'); 

     // create another menu item 
     $menu->addChild('About', array('route' => 'About')); 
     $menu['About']->addChild('Contacts', array('route' => 'About')); 
     $menu['About']->addChild('Contacts1', array('route' => 'About')); 
     $menu['About']->setChildrenAttribute('class', 'dropdown-menu'); 
     // ... add more children 

     return $menu; 
    } 
} 
関連する問題