Php 将参数传递到其他捆绑包中的视图-symfony2
我正在创建一个控制面板应用程序,它有一个基本捆绑包,包含一些基本功能和特定捆绑包,用于高级和特定功能 例如,基本捆绑包处理用户身份验证并保存所有模板资产,其他捆绑包添加功能以配置操作系统的不同部分 我需要能够在基本包的布局中将菜单链接添加到每个其他包。我更喜欢在每个bundle配置中这样做,这样我就可以混合和匹配不同客户机的功能Php 将参数传递到其他捆绑包中的视图-symfony2,php,symfony,Php,Symfony,我正在创建一个控制面板应用程序,它有一个基本捆绑包,包含一些基本功能和特定捆绑包,用于高级和特定功能 例如,基本捆绑包处理用户身份验证并保存所有模板资产,其他捆绑包添加功能以配置操作系统的不同部分 我需要能够在基本包的布局中将菜单链接添加到每个其他包。我更喜欢在每个bundle配置中这样做,这样我就可以混合和匹配不同客户机的功能 我读了所有关于编译器传递、扩展和依赖注入的书,但运气不好。有正确的方法吗?如果你使用的是细枝,这应该可以做到 {% render "DifferentBundle:Co
我读了所有关于编译器传递、扩展和依赖注入的书,但运气不好。有正确的方法吗?如果你使用的是细枝,这应该可以做到
{% render "DifferentBundle:ControllerName:functionalityName" with {'argument_name': 3} %}
您应该在不同的bundle控制器中有一个functionalnameaction
方法,这样才能工作
看一下文档中的部分
希望能有所帮助。为了防止有人遇到类似的问题,我是如何做到这一点的: 我在BaseBundle中创建了一个服务,它实现了uuu get、uuu set、uuu isset和uuu unset魔术方法,并有一个额外的append方法。它将变量存储在类内的静态变量中。 然后,我将侦听器添加到我的所有包中:
namespace Mbs\OtherBundle\Listener;
use Mbs\BaseBundle\Services\GlobalVars;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
class ControllerListener
{
protected $_global_vars;
public function __construct(GlobalVars $global_vars)
{
$this->_global_vars = $global_vars;
}
public function onKernelController(FilterControllerEvent $event)
{
$this->_global_vars->append('bundles', 'mbs.other');
}
}
这是其中一个包的my services.yml。GlobalVars是我前面提到的类
services:
mbs.base_controller_listener:
class: Mbs\OtherBundle\Listener\ControllerListener
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
arguments: [ @mbs.global_vars ]
问题是我不知道插入链接菜单需要多少捆绑包。我希望其他包向基本包添加链接。我认为这是不可能的。您需要将其他bundle链接嵌入基本bundle。