我有两个我自己创建的包:一个用于生成管理部分(AdminBundle
),另一个用于创建帐单(BillingBundle
)。 BillingBundle
基本上有2个实体:Client
和Bill
(1:m)。Symfony和Twig:模板条件
如果我安装这两个捆绑在管理员生成Client
和Bill
新/编辑表单和列表,包括我的一部分在config.yml
这样的:
my_admin_bundle:
entities:
project: #whatever entity. Project at AppBundle for example
new: true
list: true
client:
new: true
list: true
bill:
new: true
list: true
在另一方面,在AdminBundle
我有一个名为form.html.twig
的模板,它使表单创建新的元素。基本上,它仅仅是这样的:
{{ form(form) }}
的疑问:因为形式来创建新Bills
需要.js
文件(accounting.js
),如何将它仅适用于新Bill
形式,但不是新的Client
或Project
形式?
正如你可以想像,现在我有这个在form.html.twig
:
{{ form(form) }}
<script src="/bundles/ziiwebbilling/js/accounting.js" type="text/javascript"></script>
但我不需要accounting.js
在form.html.twig
新Projects
,或者新的Clients
形式。
备注:对不起,如果我用我的解释延长了太多,但我不知道如何用另一种方式解释它。即使问题的标题也很糟糕,如果你发现更好的东西,请编辑它。
编辑:因为我刚刚在对jkucharovic的回答第一个评论中写道,我真正在寻找解决我的问题,是一个非侵入性的方式,那就是:我不会喜欢在AdminBundle
模板中添加关于accounting.js
的行。或者我可能在寻找“太多”?
为什么你只是不把附加变量传递给控制器的模板,并在树枝中定义'语句。 – malcolm
@malcolm但控制器也是一样的。只有一个控制器。 – ziiweb
而你无法在该控制器的类实例中识别哪种形式被渲染? – malcolm