Php 重写包的模板继承
我正在使用symfony 3.4,但计划在将来更新4.0 所以我一步一步地减少包覆盖。(symfony 4中禁止使用) 现在我计划在TempletsDirectOly中使用模板覆盖 所以我把文件放在这里Php 重写包的模板继承,php,symfony,symfony4,symfony-3.4,Php,Symfony,Symfony4,Symfony 3.4,我正在使用symfony 3.4,但计划在将来更新4.0 所以我一步一步地减少包覆盖。(symfony 4中禁止使用) 现在我计划在TempletsDirectOly中使用模板覆盖 所以我把文件放在这里 /templates/bundles/applicationonatamediabundle/Form/media\u widgets.html 然后清除缓存 php应用程序/控制台缓存:清除 但是它不起作用 我的错误消息如下所示 Unable to find template "Applica
/templates/bundles/applicationonatamediabundle/Form/media\u widgets.html
然后清除缓存
php应用程序/控制台缓存:清除
但是它不起作用
我的错误消息如下所示
Unable to find template "ApplicationSonataMediaBundle:Form:media_widgets.html.twig"
(looked into: /Users/whitebear/CodingWorks/httproot/myapp/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views,
/Users/whitebear/CodingWorks/httproot/myapp/app/Resources/views,
/Users/whitebear/CodingWorks/httproot/myapp/templates,
/Users/whitebear/CodingWorks/httproot/myapp/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form).
下一步我应该在哪里检查???您的错误消息表明,您有一个电话
$this->render('ApplicationSonataMediaBundle:Form:media_widgets.html.twig');
某处(加上参数)。不再使用该语法,而是使用:
$this->render('@ApplicationSonataMediaBundle/Form/media_widgets.html.twig');
如中所示(如果可以信任文档,则从symfony改为).你为什么不把这个文件
/Users/whitebear/CodingWorks/httproot/myapp/templates
放在那里呢?我在sonata_media.yml-'ApplicationSonataMediaBundle:Form:media_widgets.html.twig'中找到了代码我把它改成了'@applicationsonatamia/Form/media_widgets.html.twig'
。比它的工作。谢谢