我正在尝试添加插件以在添加链接时设置默认网址。
我按照这里的说明操作: https://apostrophecms.org/docs/tutorials/howtos/ckeditor.html
我最终得到了:
// lib/modules/apostrophe-areas/public/js/user.js
apos.define('apostrophe-areas', {
construct: function(self, options) {
var superEnableCkeditor = self.enableCkeditor;
self.enableCkeditor = function() {
superEnableCkeditor();
CKEDITOR.plugins.addExternal('defaulturl', '/modules/my-apostrophe-areas/js/ckeditorPlugins/defaulturl/', 'plugin.js');
};
}
});
这是我的撇号区/ public / js / ckeditorPlugins / defaulturl / plugin.js
CKEDITOR.on( 'dialogDefinition', function( ev ) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if ( dialogName == 'link' ) {
var infoTab = dialogDefinition.getContents( 'info' );
var urlField = infoTab.get( 'url' );
urlField[ 'default' ] = 'www.example.com';
}
});
但是,这对我不起作用,我试着做这里建议的事情: Ckeditor plugin configuration not working
但它不起作用。
我尝试过的工作是将plugin.js文件附加到撇号区域文件夹中的split插件的plugin.js的末尾,但我认为这不是正确的方法
谢谢!
答案 0 :(得分:0)
我认为你可以通过两种方式解决问题:
根据API包装您的代码,请参阅例如https://sdk.ckeditor.com/samples/timestamp.html以及它引用https://sdk.ckeditor.com/samples/assets/plugins/timestamp/plugin.js的插件作为示例。您需要在plugin.js中使用CKEDITOR.plugins.add( 'defaulturl', { init: ... })
。不确定是否有任何特殊要做,否则你想要修改CKEDITOR核心插件的行为。这就是为什么它会采用下一个选项...
plugin.js
:您还可以使用CKEDITOR.plugins.addExternal()
文件的内容替换plugin.js
来电。我这样做是为了将默认链接目标修改为_blank
:
// /lib/modules/apostrophe-areas/public/js/user.js
'use strict';
// See https://apostrophecms.org/docs/tutorials/howtos/ckeditor.html and
apos.define('apostrophe-areas', {
construct: function(self, options) {
var superEnableCkeditor = self.enableCkeditor;
self.enableCkeditor = function enableCkeditor() {
superEnableCkeditor();
// https://docs.ckeditor.com/ckeditor4/latest/guide/dev_howtos_dialog_windows.html
CKEDITOR.on('dialogDefinition', function redefineDialog(ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if (dialogName === 'link') {
var targetTab = dialogDefinition.getContents('target');
var targetField = targetTab.get('linkTargetType');
targetField.default = '_blank';
}
});
};
}
});
祝你好运!