我看到http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html
如果我在app / Resources / SensioGeneratorBundle / skeleton /...中创建覆盖模板。
没有树枝标签
{% extends 'skeleton/bundle/Bundle.php.twig' %}
并覆盖块
但是,如果我创建自己的GeneratorBundle“继承”SensioGeneratorBundle与
public function getParent()
{
return 'SensioGeneratorBundle';
}
并将我的覆盖骨架模板放在BUNDLE_PATH / Resources / SensioGeneratorBundle / skeleton中,就像文档说它不起作用
我需要为覆盖命令
创建我自己的包我会混合两者吗? “继承”bundle for override命令并覆盖app / Resources中的模板
或者我可以juste“继承”bundle并覆盖bundle中的命令和骨架模板吗?
回复
修改
我在SensioGeneratorBundle中打开了一个问题:
https://github.com/sensiolabs/SensioGeneratorBundle/issues/233
GeneratorBundleCommand不要在方法getGenerator()中的参数中使用我的继承包
答案 0 :(得分:0)
显然,骨架文件夹不能像此处描述的其他覆盖模板一样覆盖:
http://symfony.com/doc/current/cookbook/bundles/inheritance.html
告诉我,如果我错了和BUNDLE_PATH描述于:
http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html
对应任何束,我认为对应于我继承的sensio发生器包。
所以我将我的骨架放在APP_PATH
中编辑:此功能已启用拉取请求:https://github.com/sensiolabs/SensioGeneratorBundle/pull/235
答案 1 :(得分:-1)
请阅读Symfony 2 documentation。在通过此覆盖getParent()之后,您可以替换命令。记得在AppKernel
中将子包放在父包之后经典的bundle继承不能覆盖Skeleton模板。每个包都可以提供自己的控制器和学说模板。要覆盖全局骨架(如bundle),您必须将其放在app / Resources中。
要覆盖:Resources / SensioGeneratorBundle / template_name.twig
扩展:Resources / SesnsioGeneratorBundle / skeleton / template_name.twig