So nutzen Sie Filter innerhalb einer Liste

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/wRequest-hasValidDraftToken.php
/dev/dokumentationen/framework/funktionen/wRepository-createDocument.php
/dev/dokumentationen/framework/funktionen/wProjectCur-getPathContent.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>";

?>