我想将一个附加参数{'id': '555'}从 twig-template 传递$options-parameter到MenuBuilder.php. 树枝看起来像:
...
{{ knp_menu_render('createSwitchButton', {'id': '555'} ) }}
...
service.yml看起来像:
RochPartyplaner.menu_builder:
class: RochPartyplaner\PartyBundle\Menu\MenuBuilder
arguments: ["@knp_menu.factory"]
RochPartyplaner.menu.createSwitchButton:
class: Knp\Menu\MenuItem
factory_service: RochPartyplaner.menu_builder
factory_method: createSwitchButton
arguments: ["@request", []]
scope: request
tags:
- { name: knp_menu.menu, alias: createSwitchButton }
MenuBuilder.php看起来像:
...
public function createSwitchButton(Request $request,array $options)
{
$menu = $this->factory->createItem('root');
$menu->addChild($options['id'], array('route' => 'login'));
...
return $menu;
}
但是:在 中Builder,$options['id']是未知的。我认为其中的论点陈述service.yml是错误的。
有人会帮助我吗?