【问题标题】:symfony3 override fields theme from vich bundlesymfony3 覆盖 vich 包中的字段主题
【发布时间】:2016-04-25 19:47:08
【问题描述】:
我已将 VichUploaderBundle 安装到我的 Symfony 应用程序中,并希望更好地控制上传按钮的外观。我已经获取了位于包本身中的fields.html.twig 的内容,并将它们复制到路径app/Resources/views/myControllerName/fields.html.twig 的同一文件中,这也是该组控制器的所有其他树枝模板所在的位置。
我似乎无法通过这种方法影响页面上的任何内容。是的,我已经清除了缓存,我什至删除了缓存目录。
我是不是把文件放错地方了?
【问题讨论】:
标签:
twig
symfony
vichuploaderbundle
【解决方案1】:
您可以在自定义vich_file_widget 和/或vich_image_widget 时覆盖该表单主题in many ways,例如:
{% extends 'base.html.twig' %}
{% form_theme form _self %}
{% block vich_file_widget %}
{# some content… #}
{% endblock %}
{% block content %}
{{ form(my_form) }}
{% endblock %}
【解决方案2】:
感谢@jkucharovic 的努力,我已经在使用您建议的第三种方法。我的问题是我是否将fields.html.twig 文件放在正确的位置。结果我没有。对于出现此问题的其他人,要覆盖 VichUploaderBundle for twig 中的字段文件,您必须将 fields.html.twig 文件的副本放在以下路径中,以便 Symfony 可以覆盖捆绑包中的内容。
字段文件位于此处,不应编辑...
vendor/vich/uploader-bundle/Resources/views/Form/fields.html.twig
该文件的副本应该放在 Symfony 3 的此处。该文件是可编辑的。
app/Resources/VichUploaderBundle/views/Form/fields.html.twig