Veröffentlichungsdatum: 20. August 2014
Änderungsdatum: 12. März 2019
weblication cms dateiexplorer fileselector individuell filter filemanagercustomized
Für den Weblication® Dateiexplorer können Sie individuelle Filter nutzen, um die Ausgabe der Dateien innerhalb des Verzeichnisinhaltes zu beeinflussen.
Für den Weblication® Dateiexplorer können Sie individuelle Filter nutzen, um die Ausgabe der Dateien innerhalb des Verzeichnisinhaltes zu beeinflussen. Hierfür steht Ihnen ab CMS-Version 009.002.028.000 innerhalb der Box "Häufig benötigt" eine Filtermöglichkeit zur Verfügung.
Sinn macht eine Filterfunktion speziell bei Verzeichnissen, in denen viele Dateien liegen (z.B. Meldungen, Shop-Produkte, etc.). Über definierte Filter können Sie den Verzeichnisinhalt auf die zum Filter passenden Dateien reduzieren, um einen besseren und schnelleren Überblick zu haben.
Über das Template default.wFileselector.php setzen Sie innerhalb des "Häufig benötigt" Bereiches Ihren gewünschten Verzeichnisverweis. Im Beispiel wird einmal das Meldungen-Verzeichnis ohne URL-Parameter und zweimal mit unterschiedlichem URL-Parameter Wert gesetzt (?customFilterFiles=...). Als Werte wird jeweils die Kategorien-ID der gewünschten Kategorie aus der Standard Kategoriendatei der BASE gesetzt (z.B. 1177055143578 für Kategorie "Unternehmen").
Der URL-Parameter (im Beispiel customFilterFiles) steht für die Filter-Funktion, die in der post.include.php Datei mit gleichem Namen definiert sein muß. Falls das Verzeichnis /explorer im genannten Verzeichnispfad Ihres globalen Projektes noch nicht besteht, legen Sie dies entsprechend an.
<?php $version="1.0"; $encoding="UTF-8"; ?> <?php exit; ?> <wFileselector xmlns:de="http://weblication.de/5.0/lang/de" xmlns:en="http://weblication.de/5.0/lang/en" xmlns:fr="http://weblication.de/5.0/lang/fr" xmlns:wsl="http://weblication.de/5.0/wsl"> ... <wDirs _display="select" de:captionSelect="Bitte wählen" en:captionSelect="Please select" open="1" caption="Häufig benötigt" en:caption="Frequently required" fr:caption="Souvent nécessaire"> ... <dir icon="/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/images/dir-icons/dir-content.gif" caption="Alle Meldungen" path="/base/aktuelles/meldungen"/> <dir icon="/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/images/dir-icons/dir-content.gif" caption="Meldungen Unternehmen" path="/base/aktuelles/meldungen?customFilterFiles=1177055143578"/> <dir icon="/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/images/dir-icons/dir-content.gif" caption="Meldungen Kunden" path="/base/aktuelles/meldungen?customFilterFiles=1177055180125"/> </wDirs> ... ... </wFileselector>
<?php
// Filter für Weblication Dateiexplorer (ab CMS 009.002.028.000)
function customFilterFiles($files, $filterID){
$returnFiles = array();
foreach($files as $file){
$domObject = wDOM::parseFile($file);
// Ermittelt alle Kategorieneintraege der Datei (wd:category-Nodes)
$categoriesNodes = wDOM::executeXPath($domObject,'wd:extension/wd:meta/wd:categories/wd:category');
$check = false;
if($categoriesNodes->length > 0){
foreach($categoriesNodes as $categoriesNode){
// Ermittelt die KategorienID der einzelnen wd:category-Eintraege
$categoryID = $categoriesNode->nodeValue;
// Falls eine der gesetzten Kategorien der mitgegebenen Kategorien-ID entspricht, wird die Datei aufgelistet
if($categoryID == $filterID){
$check = true;
}
}
}
if($check === true){
$returnFiles[] = $file;
}
}
return $returnFiles;
}
?>