ckeditor5和CakePHP 2.3:如何使表工作?

时间:2018-08-01 21:13:33

标签: javascript cakephp ckeditor cakephp-2.3 ckeditor5

我有一个CakePHP 2.3应用程序,多年来一直使用任何版本的CK Editor。

我正在开发模式下,希望将其升级到CKEditor 5。

我轻松快捷地摆脱了所有旧代码和文件,使ckeditor5在其最基本的版本中正常工作。

这是去吧!

但是,我确实需要表格。我现在正在设置表格功能,但是无法正常工作。

这是他们的文档: https://docs.ckeditor.com/ckeditor5/latest/features/table.html

npm install --save @ckeditor/ckeditor5-table已成功运行。这些文件在我的存储库中。

但是,import Table from '@ckeditor/ckeditor5-table/src/table';import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar';语句使事情崩溃。

我尝试将@ckeditor文件夹移出主项目,并移至应用程序的app/webroot/js文件夹。

我尝试用不同的方式调用脚本。

我目前正在尝试找出require.js是否是加载这些模块的答案,但似乎无法理解如何将它们整合在一起。

基本上,最大的问题是:

对于CakePHP 2.3,

@ckeditor文件夹应该在哪里

以及如何将这些文件/模块导入视图

不生成

Uncaught SyntaxError: Unexpected identifier 要么 Uncaught Error: Module name 'Table' has not been loaded yet for context:

错误?

还有一个问题:

有人在 CakePHP 应用程序中发布了有关如何使 CKEditor 5 及其表功能工作的内容吗?我似乎找不到它。

1 个答案:

答案 0 :(得分:1)

ndm的答案使我仔细研究了webpack。我一无所知。比require.js更适合这份工作。

我必须说,我仍然不了解下面每件事的所有内部工作原理,但是我根据需要让ckeditor 5使用表。

我必须:

  1. 安装Node.js
  2. 安装npm
  3. 进行本地ckeditor 5构建(我希望坚持使用CDN)-link here
  4. 使用表格插件-link for plugin install herelink for table plugin directions here
  5. 安装插件
  6. 在运行src/ckeditor.js之前,请在npm run build文件本身中设置工具栏和其他设置。我无法从HTML开始使用它,因为我无法让js来识别名称和类。我一直遇到Unexpected identifier错误,直到我放弃并直接从src/ckeditor.js调用它。这对我来说很好,因为我应用的所有 CK编辑器框都可以相同。如果您需要更改,则不确定如何使它正常工作。

最后,我应该指出,对于我所有的命令行操作,我都是直接从CakePHP的{​​{1}}目录工作的,所以安装东西的方式最终是脚本调用为: app/webroot/js,因此我创建该框的代码是:

<script src="/js/ckeditor5-build-classic/build/ckeditor.js"></script>

如果有人需要此参考,那么<textarea id="my_dear_ckeditor5_textarea"></textarea> <!-- ckeditor.js built by following steps 1 thru 5 above --> <script src="/js/ckeditor5-build-classic/build/ckeditor.js"></script> <script type="text/javascript"> $(function(){ ClassicEditor .create( document.querySelector( '#my_dear_ckeditor5_textarea' ) ) .catch( error => {} ); }); </script> 就是这样:

src/ckeditor.js