我在SYMFONY 3.2項目中實現了IvoryCKEditorBundle。IvoryCKEditorBundle Symfony:如何使用IvoryCKEditorBundle中的「ckeditor_widget」我OWN中的TWIG模板重新定義了TWIG模板
我遵循了here的指導原則,並對doc on the official Symfony site進行了概述。
現在我看到在IvoryCKEditorBundle目錄下面的文件退出:
- [我 項目] \供應商\ egoloen \ CKEditor的束\資源\意見\表格\ ckeditor_widget.html.twig
- [我 項目] \供應商\ egoloen \ CKEditor的束\嫩枝\ CKEditorExtension.php
而且[my project]\vendor\egoloen\ckeditor-bundle\Resources\views\Form\ckeditor_widget.html.twig
定義{% block ckeditor_widget %}
。
在我的projet中,我使用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' %}
它拋出的錯誤:
Block "ckeditor_widget" on template "form_div_layout.html.twig" does not exist in "form_div_layout.html.twig".
當行{% use 'CKEditorBundle:Form:ckeditor_widget.html.twig' %}
實現,它拋出一個錯誤是:
Unable to find template "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
。