2016-09-08 2 views
0

Es gibt eine Möglichkeit, ein anderes Symbol für leere Ordner anzuzeigen?Anderes Symbol für leere Ordner anzeigen

Eigentlich kann ich mit dem Back-End-Code arbeiten, um eine Favicon.ico-Datei hinzuzufügen, wenn der Ordner nach einem Einfügen oder Verschieben nicht leer war, und entfernen Sie sie, wenn der Ordner nach einem Verschieben oder Löschen leer ist Betrieb.

Aber das klingt wie ein komplizierter Prozess.

Antwort

1

https://github.com/Studio-42/elFinder/issues/1643

Dies ist möglich, mit Hauptanschluss Option bind.

z.B. - Fügen Sie dem leeren Ordner des LocalFileSystem-Volumes den CSS-Klassennamen elfinder-dir-empty hinzu.

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(); 
Verwandte Themen