gpt4 book ai didi

php - 向 KnpMenuBundle-MenuBuilder 传递参数(注册为服务)

转载 作者:可可西里 更新时间:2023-10-31 23:20:12 25 4
gpt4 key购买 nike

我想将附加参数 {'id': '555'} 从 Twig 模板传递到 MenuBuilder 中的 $options-parameter .php。 Twig 看起来像:

...
{{ 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 中的参数语句是错误的。

有人愿意帮助我吗?

最佳答案

您没有提到 KnpBundle 的版本。在 v2.* 版本中 according to documentation你可以这样做

{% set menuItem = knp_menu_get('TestProductBundle:Builder:mainMenu', [], {'some_option': 'my_value'}) %}

{{ knp_menu_render(menuItem) }}

关于php - 向 KnpMenuBundle-MenuBuilder 传递参数(注册为服务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24778728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com