有一种方法可以为空文件夹显示不同的图标吗?
实际上,当插入或移动操作后文件夹变为非空时,我可以使用后端代码添加favicon.ico文件,并在移动或删除操作后文件夹变空时删除它们
但这听起来是一个复杂的过程。
答案 0 :(得分:1)
连接器主选项bind
可以实现这一点。
e.g。 - 将CSS类名elfinder-dir-empty
添加到LocalFileSystem卷的空文件夹中。
function setEmptyFolderCssName($cmd, &$result, $args, $elfinder, $volume) {
if ($volume && $volume instanceof elFinderVolumeLocalFileSystem && $result) {
$key = '';
if (! empty($result['files'])) {
$key = 'files';
} else if (! empty($result['tree'])) {
$key = 'tree';
} else if (! empty($result['added'])) {
$key = 'added';
}
if ($key) {
foreach($result[$key] as $i => $file) {
if (isset($file['mime']) && $file['mime'] === 'directory') {
$path = $volume->getPath($file['hash']);
if (($items = scandir($path)) && count($items) === 2) {
$result[$key][$i]['csscls'] = 'elfinder-dir-empty';
}
}
}
}
}
}
$opts = array(
'lbind' => array( 'open tree parent mkdir' => array( 'setEmptyFolderCssName' ) ),
'roots' => array(
array(
'driver' => 'LocalFileSystem',
'path' => '/path/to/files/',
'URL' => 'http://localhost/to/files/'
)
)
);
// run elFinder
$connector = new elFinderConnector(new elFinder($opts));
$connector->run();