我嘗試使用KnpMenu教程來創建菜單,並在Symfony中使用它進行引導。 它完全以本地模式,但是當我嘗試一下我的服務器(無論是在開發模式),它不工作,我有這樣的錯誤:Symfony異常KNPMenu構建器不存在菜單生成器
一個例外模板的渲染過程中被拋出 ( 「類 」robStorm \ WelcomeBundle \菜單\生成器robStormWelcomeBundle「 沒有菜單 建設者存在 」:「。」 生成器)在 「robStormWelcomeBundle:首頁:index.html.twig」。 500內部服務器錯誤 - Twig_Error_Runtime 1鏈接的異常: InvalidArgumentException»
不過,我正好在本地或服務器上的相同文件...
這裏是我的文件的內容:
在應用程序/配置/ config.yml:
# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
twig:
form:
resources:
- "BraincraftedBootstrapBundle:Form:form_div_layout.html.twig"
knp_menu:
twig:
template: "BraincraftedBootstrapBundle:Menu:menu.html.twig"
在SRC/robStorm/WelcomeBundle /控制器/ HomepageController:
public function indexAction()
{
return $this->render('robStormWelcomeBundle:Homepage:index.html.twig');
}
在SRC/robStorm/WelcomeBundle /菜單/ builder.php:
<?php
namespace robStorm\WelcomeBundle\Menu;
use Knp\Menu\FactoryInterface;
use Symfony\Component\DependencyInjection\ContainerAware;
use Knp\Menu\Matcher\Matcher;
use Knp\Menu\Matcher\Voter\UriVoter;
use Knp\Menu\MenuFactory;
use Knp\Menu\Renderer\ListRenderer;
class Builder extends ContainerAware
{
public function mainMenu(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('root');
$item = $menu->addChild('Accueil', array('route' => 'robStormWelcomeBundle_homepage'));
$menu->addChild('Combat', array('route' => 'robStormWelcomeBundle_homepage_combat'));
$menu->addChild('Boutique', array('uri' => '#'));
return $menu;
}
public function menuDroite(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('root');
$menu->addChild('Aide', array('uri' => '#'));
$menu->addChild('d1', array('attributes' => array('divider' => true)));
$dropdown = $menu->addChild('Mon compte');
$dropdown->addChild('Mon profil', array('uri' => '#'));
$dropdown->addChild('Mes messages', array('uri' => '#'));
$dropdown->addChild('d1', array('attributes' => array('divider' => true)));
$dropdown->addChild('Se déconnecter', array('uri' => '#'));
return $menu;
}
}
在SRC/robStorm/WelcomeBundle/Ressources /配置/ routing.yml中:
robStormWelcomeBundle_homepage:
pattern:/
defaults: { _controller: "robStormWelcomeBundle:Homepage:index" }
在src/robStorm/WelcomeBundle/Ressources/views/layout.html.twig:
<div class="container">
{{ knp_menu_render('robStormWelcomeBundle:Builder:mainMenu', {'nav_type': 'navbar', 'currentAsLink': true}) }}
{{ knp_menu_render('robStormWelcomeBundle:Builder:menuDroite', {'nav_type': 'navbar', 'currentAsLink': true, 'pull': 'right'}) }}
</div>
簡單地說 「建設者」 就地 「生成器」 的作品,但爲什麼??:{{knp_menu_render( 'robStormWelcomeBundle:製造商:MAINMENU',{ 'nav_type': '導航欄', 'currentAsLink':真正} )}} – user2178964 2013-03-17 10:48:05