我的symfony2 project有一个 composer.json
文件,该文件引用了ckeditor软件包:
"require": {
...
"ckeditor/ckeditor": "4.4.*"
},
当我在twig视图中包含主javascript文件时:
{% javascripts
'../vendor/ckeditor/ckeditor/ckeditor.js'
%}
<script src="{{ asset(asset_url) }}"></script>
{% endjavascripts %}
它呈现以下URL的脚本路径:
http://myproject.local/app_dev.php/js/1c365ca_ckeditor_2.js"
如果是独立的JavaScript文件,这将很好,但是ckeditor.js
无法在vendor/ckeditor
目录中引用其许多其他依赖项。即使我明确将它们全部包含在Assetic中,我也无法更新其相对路径,以便Ckeditor可以看到它们。
我敢肯定,此问题适用于所有大型JavaScript库。通常如何接近?
我遇到了完全相同的问题,我认为在与未集成在捆绑中的第三方独立库时,资产不是最好的工具。
因此,我通过在我的Symfony项目的web
目录中创建指向CKEditor供应商目录的象征链接来找到解决方法:
cd web
ln -s ../vendor/ckeditor/ckeditor/ ./ckeditor
然后在我的树枝模板中,我称为ckeditor脚本:
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
<script type="text/javascript">
// Change CKeditor basepath configuration
CKEDITOR.basePath = "/ckeditor/";
// Replace the <textarea id="editor1"> with a CKEditor
// instance, using default configuration.
CKEDITOR.replace( 'editor1' );
</script>
在ckeditor捆绑包上查看:github -packagist
此捆绑包是Symfony的Ckeditor的集成。
您可以在您的表格中插入ckeditor区域。