CKFinder:在资源类型之间切换时更改默认视图
CKFinder: Change the default view when switching between resource types
我正在将 CKFinder 设置为 CKEditor 的文件浏览器,并希望每个资源类型的 defaultViewType 都不同。例如,当浏览图像资源时它应该显示缩略图,但当浏览文件资源时它应该显示 "compact" 视图。
我试过以下配置,但它只显示文件和图像的缩略图:
defaultViewType: "thumbnails",
defaultViewType_Files: "compact"
我曾考虑通过 onInit 函数按照以下几行编写一个小插件:
onInit: function(finder) {
finder.on("folder:getFiles:before", function(event) {
var folder = finder.request("folder:getActive");
var resource = folder.getPath({full: true}).replace(/:.*$/, "");
switch (resource) {
case "Files":
finder.request("files.changeView", "compact");
break;
case "Images":
finder.request("files.changeView", "thumbnails");
break;
});
}
但我不确定要触发哪种请求类型(files.changeView
或类似的不存在)。
是否可以通过配置选项或插件来实现?
我不确定您是否仍然感兴趣,但这应该可以帮助您入门:
- http://docs.cksource.com/ckfinder3/#!/api/CKFinder.Application-event-settings_change_GROUP_NAME
- http://docs.cksource.com/ckfinder3/#!/api/CKFinder.Application-event-contextMenu_file_GROUP
http://docs.cksource.com/ckfinder3/#!/api/CKFinder.Application-request-settings_setValue
finder.on( 'folder:getFiles:before', function( evt ) {
//console.log(evt.data.folder);
if( evt.data.folder.attributes.resourceType == 'Images' )
finder.request( 'settings:setValue', {
group: 'files',
name: 'viewType',
value: 'thumbnails'
} );
else
finder.request( 'settings:setValue', {
group: 'files',
name: 'viewType',
value: 'list'
} );
}, null, null, 0 );
我正在将 CKFinder 设置为 CKEditor 的文件浏览器,并希望每个资源类型的 defaultViewType 都不同。例如,当浏览图像资源时它应该显示缩略图,但当浏览文件资源时它应该显示 "compact" 视图。
我试过以下配置,但它只显示文件和图像的缩略图:
defaultViewType: "thumbnails",
defaultViewType_Files: "compact"
我曾考虑通过 onInit 函数按照以下几行编写一个小插件:
onInit: function(finder) {
finder.on("folder:getFiles:before", function(event) {
var folder = finder.request("folder:getActive");
var resource = folder.getPath({full: true}).replace(/:.*$/, "");
switch (resource) {
case "Files":
finder.request("files.changeView", "compact");
break;
case "Images":
finder.request("files.changeView", "thumbnails");
break;
});
}
但我不确定要触发哪种请求类型(files.changeView
或类似的不存在)。
是否可以通过配置选项或插件来实现?
我不确定您是否仍然感兴趣,但这应该可以帮助您入门:
- http://docs.cksource.com/ckfinder3/#!/api/CKFinder.Application-event-settings_change_GROUP_NAME
- http://docs.cksource.com/ckfinder3/#!/api/CKFinder.Application-event-contextMenu_file_GROUP
http://docs.cksource.com/ckfinder3/#!/api/CKFinder.Application-request-settings_setValue
finder.on( 'folder:getFiles:before', function( evt ) { //console.log(evt.data.folder); if( evt.data.folder.attributes.resourceType == 'Images' ) finder.request( 'settings:setValue', { group: 'files', name: 'viewType', value: 'thumbnails' } ); else finder.request( 'settings:setValue', { group: 'files', name: 'viewType', value: 'list' } ); }, null, null, 0 );