1

当有人单击CKEditor上的链接时,我正在尝试将默认视图设置为列表。我已经用 CKEditor 配置了 CKFinder。所以现在当我在 CKEditor 中单击链接时,我会看到一个浏览按钮和onclick浏览按钮,它会将我带到文件列表。但它在那里将图像显示为缩略图。我想将其显示为“列表”。只有当我单击 CKEditor 中的链接时,我才应该这样做。如果我单击图像,它应该向我显示缩略图。

以下是我创建 CKEditor 并将其与我的 CKFinder 关联的方式。

function createCkEditor(textAreaId, width, height) {
    var editor = CKEDITOR.replace( textAreaId,
        {
            customConfig : 'suConfig.js',
            width : width,
            height : height
        });

    CKFinder.setupCKEditor( editor, { basePath : '/CKFinderJava/ckfinder/', id:'123', startupPath : varStartupDir, startupFolderExpanded : true, rememberLastFolder : false} ) ;
}

CKEDITOR.on( 'dialogDefinition', function( ev ) {
    // Take the dialog name and its definition from the event data.
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;

    // If "Link" dialog
    if ( dialogName == 'link' ) {
        alert('link dialog clicked');
        // Remove extraneous tabs
        dialogDefinition.removeContents( 'target' );
        dialogDefinition.removeContents( 'advanced' );

        // Set default URL
        var infoTab = dialogDefinition.getContents( 'info' );
        var urlField = infoTab.get( 'url' );
        urlField['default'] = contentUrl;
    }

    // If "Image" dialog
    if ( dialogName == 'image' ) {
        // Remove extraneous tabs
        dialogDefinition.removeContents( 'Link' );
        dialogDefinition.removeContents( 'advanced' );

        // Set default URL
        var infoTab = dialogDefinition.getContents( 'info' );
        var urlField = infoTab.get( 'txtUrl' );
        urlField['default'] = contentUrl;
    }
});

CKEditor.on如果您单击 CKEditor 中的选项,将调用。我不确定如何获取与当前编辑器关联的 CKFinder 实例并将默认视图设置为列表。我正在使用 JavaScript 和 JSP。

4

1 回答 1

0

我确实找到了解决方案。

在 CKFinderJava.war/ckfinder 目录下的 config.js 中进行必要的配置。config.defaultViewType_Images = '缩略图'; config.defaultViewType_Files = '列表'; 这是来自 ckeditor 的图像和链接的设置。如果您希望所有显示都作为列表,那么 config.defaultViewType = 'list';

于 2012-11-01T23:40:27.383 回答