So nutzen Sie Filter innerhalb einer Liste
Veröffentlichungsdatum: 09. Februar 2010
Änderungsdatum: 22. März 2021
liste dateien filter repository wrepository wlist auflistung filterset
Dieser Artikel beschreibt den Einsatz von Filtertechniken (filterset) bei Dateiauflistungen über Frameworkfunktionen (z.B. wRepository bzw. wList)
Die Beispielprojekte zu Weblication® führen in den Bereichen "Aktuelles" etc. anschaulich an, wie sie innerhalb Ihrer Präsenz Listen erstellen und nutzen können.
Nachfolgend erhalten Sie ein paar Beispiele, wie Sie Filtermöglichkeiten in Dateilisten nutzen können, die Sie z.B. direkt über ein PHP-Script aufrufen.
Beispiel: Beispiel: Ausgabe von 3 Dateien über Repository, die dem angegebenen Objekt-Typ entsprechen
Quelltext
<?php
include($_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');
$query = array();
$query['dir'] = '/dev/dokumentationen/framework/funktionen';
//$query['dirRecursive'] = '/de/aktuelles/meldungen';
$query['orderBy'] = '/wd:modification/@time';
$query['orderDir'] = 'desc';
//$query['limit'] = 20;
$query['limitFrom'] = 0;
$query['limitTo'] = 3;
$query['filterset'] = array('type' => 'and');
$query['filterset'][] = array('wPath' => "/wd:extension/wd:object/@type" ,'operator' => '==', 'condition' => 'objectFrameworkFunction');
//print "<pre>";
//var_dump($query['filterset']);
//print "</pre>";
$result = wRepository::selectDocuments($query);
foreach($result as $document){
print '<div>'.$document.'</div>';
}
?>Ergebnis
/dev/dokumentationen/framework/funktionen/wNet-getUrlHead.php
/dev/dokumentationen/framework/funktionen/wCron-executeAll.php
/dev/dokumentationen/framework/funktionen/wApplication-setLogTmp.php
Beispiel: Beispiel: Ausgabe von Bildern, die dem angegebenen Pfad und Dateiendung entsprechen
Quelltext
<?php
include($_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');
$query = array();
$query['dir'] = '/dev/img';
$query['orderDir'] = 'desc';
$query['limit'] = 3;
$query['filterset'] = array('type' => 'and');
$query['filterset'][] = array("wPath" => "/wd:stat/@path", "operator" => "containsi", "condition" => "/devAssets/img/");
$query['filterset'][] = array("wPath" => "/wd:stat/@extension", "operator" => "containsi", "condition" => "png");
//print "<pre>";
//var_dump($query['filterset']);
//print "</pre>";
$result = wRepository::selectDocuments($query);
foreach($result as $document){
print '<div>'.$document.'</div>';
}
?>Ergebnis
Beispiel: Beispiel: Ausgabe von 4 Dateien über Repository, die einem von beiden angegebenen Objekt-Typen entsprechen
Quelltext
<?php
include($_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');
$query = array();
//$query['dir'] = '/de';
$query['dirRecursive'] = '/de/aktuelles/meldungen';
$query['orderBy'] = '/wd:modification/@time';
$query['orderDir'] = 'desc';
//$query['limit'] = 20;
$query['limitFrom'] = 0;
$query['limitTo'] = 4;
$query['filterset'] = array('type' => 'and');
$query['filterset'][] = array('wPath' => "/wd:extension/wd:object[@type = 'news' or @type = 'start']" ,'operator' => '', 'condition' => '');
//print "<pre>";
//var_dump($query['filterset']);
//print "</pre>";
$result = wRepository::selectDocuments($query);
foreach($result as $document){
print '<div>'.$document.'</div>';
}
?>Beispiel: Beispiel: Ausgabe von 2 Dateien über Repository, die einem von beiden angegebenen Objekt-Typen entsprechen
Quelltext
<?php
include($_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');
$query = array();
$query['dir'] = '/de/aktuelles/meldungen';
//$query['dirRecursive'] = '/de';
$query['orderBy'] = '/wd:modification/@time';
$query['orderDir'] = 'desc';
//$query['limit'] = 20;
$query['limitFrom'] = 0;
$query['limitTo'] = 2;
$query['filterset'] = array('type' => 'or');
$query['filterset'][] = array('wPath' => "/wd:extension/wd:object/@type" ,'operator' => '==', 'condition' => 'news');
$query['filterset'][] = array('wPath' => "/wd:extension/wd:object/@type" ,'operator' => '==', 'condition' => 'start');
//print "<pre>";
//var_dump($query['filterset']);
//print "</pre>";
$result = wRepository::selectDocuments($query);
foreach($result as $document){
print '<div>'.$document.'</div>';
}
?>Beispiel: Beispiel: Ausgabe von 2 Dateien über die Listenfunktion, die der angegebenen Kategorie entsprechen
Quelltext
<?php
include($_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php');
$listParameters = array();
$listParameters['dir'] = '/de/aktuelles/meldungen';
//$listParameters['dirRecursive'] = '/de';
$listParameters['orderBy'] = '/wd:modification/@time';
$listParameters['orderDir'] = 'desc';
//$listParameters['limit'] = 20;
$listParameters['limitFrom'] = 0;
$listParameters['limitTo'] = 2;
$listParameters['filterset'] = array('type' => 'and');
$listParameters['filterset'][] = array("wPath" => "/wd:extension/wd:meta/wd:categories[wd:category/text() = '1177055149718']", "operator" => "", "condition" => "");
$template = '/de/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
//print "<pre>";
//var_dump($listParameters['filterset']);
//print "</pre>";
?>