php – 将参数传递给KnpMenuBundle-MenuBuilder(注册为服务)
发布时间:2020-12-13 16:53:45 所属栏目:PHP教程 来源:网络整理
导读:我想将一个额外的参数{‘id’:’555’}从twig-template传递到MenuBuilder.php中的$options-parameter. 树枝看起来像: ...{{ knp_menu_render('createSwitchButton',{'id': '555'} ) }}... service.yml看起来像: RochPartyplaner.menu_builder: class: Roc
我想将一个额外的参数{‘id’:’555’}从twig-template传递到MenuBuilder.php中的$options-parameter.
树枝看起来像: ... {{ knp_menu_render('createSwitchButton',{'id': '555'} ) }} ... service.yml看起来像: RochPartyplaner.menu_builder: class: RochPartyplanerPartyBundleMenuMenuBuilder arguments: ["@knp_menu.factory"] RochPartyplaner.menu.createSwitchButton: class: KnpMenuMenuItem 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中的arguments-statement是错误的. 有人会帮助我吗? 解决方法
你没有提到KnpBundle的版本.在v2.*版本
according to documentation中你可以这样做
{% set menuItem = knp_menu_get('TestProductBundle:Builder:mainMenu',[],{'some_option': 'my_value'}) %} {{ knp_menu_render(menuItem) }} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- php – 使用TCPDF创建大型PDF的最有效方法是什么?
- php smarty截取中文字符乱码问题?gb2312/utf-8
- php – Joomla介绍图片阅读更多链接
- php – 如何在循环中的注释上输出注释?
- 解决php中Cannot send session cache limiter 的问题的方法
- php – NumberFormatter :: SPELLOUT spellout-ordinal in
- PHP中仿制 ecshop验证码实例
- PHP strtotime函数详解
- php – 使用RecursiveIteratorIterator列出文件夹中的文件非
- php进行压缩 ob_gzhandler函数有3种方法