我在SYMFONY 3.2项目中实现了IvoryCKEditorBundle。
我遵循了here中的指南,并概述了doc on the official Symfony site。
现在我在IvoryCKEditorBundle目录中看到以下文件退出:
[my
project]\vendor\egoloen\ckeditor-bundle\Resources\views\Form\ckeditor_widget.html.twig
定义{% block ckeditor_widget %}
。
在我的项目中,我使用official doc中给出的所有技巧重新定义了自己的模板来渲染表单。在[my project]\src\MyBundle\Resources\views
下,我有一个文件input_inline_template.html.twig
,看起来像这样:
{% extends 'form_div_layout.html.twig' %}
{% use 'CKEditorBundle:Form:ckeditor_widget.html.twig' %}
{% block form_row %}
<div class='col-12' id={{ id ~ '_div_row_id'}}>
{% block form_label %}
<div class='col-4' id={{ id ~ '_div_label_id' }}>
{{ parent() }}
</div>
{% endblock %}
{% if form.vars.block_prefixes.2 == "textarea" %}
{% if (form.vars.block_prefixes.3 is defined) and (form.vars.block_prefixes.3 == "ckeditor") %}
{% block ckeditor_widget %}
<div class='col-8'>
{{ parent() }}
</div>
{% endblock %}
{% else %}
{% block textarea_widget %}
<div class='col-8'>
{{ parent() }}
</div>
{% endblock %}
{% endif %}
{% endif %}
</div>
{% endblock %}
这不起作用。它告诉我它找不到ckeditor_widget
如果我没有行{% use 'CKEditorBundle:Form:ckeditor_widget.html.twig' %}
它会抛出错误:
模板“form_div_layout.html.twig”中阻止“ckeditor_widget”在“form_div_layout.html.twig”中不存在。
当实现行{% use 'CKEditorBundle:Form:ckeditor_widget.html.twig' %}
时,它会抛出一个错误:
无法找到模板“CKEditorBundle:Form:ckeditor_widget.html.twig”
它告诉我它在CKEditorBundle:Form:ckeditor_widget.html.twig
中寻找:
[my_symf_project]\app/Resources/views
,[my_symf_project]\vendor\symfony\symfony\src\Symfony\Bridge\Twig/Resources/views/Form
,[my_symf_project]\vendor\knplabs\knp-menu\src\Knp\Menu/Resources/views
。
我不知道如何在[my project]\app\config\config.yml
中配置它应该[my project]\vendor\egoloen\ckeditor-bundle\Resources\views\Form\
查找ckeditor_widget.html.twig
。
答案 0 :(得分:0)
我找到了a hint here。
在[my project]\src\MyBundle\Resources\views\input_inline_template.html.twig
中,我已将{% use 'CKEditorBundle:Form:ckeditor_widget.html.twig' %}
替换为:{% use 'IvoryCKEditorBundle:Form:ckeditor_widget.html.twig' %}
。
修好了它。