wList::createList
Generiert eine Dateiliste über ein Template
Funktionsaufruf
String createList(String template, Array options = array())
Parameter
- template
- Pfad zu dem Listentemplate (XSL-Stylesheet)
- options
- dir
- Aufzulistende Verzeichnisse
- dirRecursive
- Rekursiv aufzulistende Verzeichnisse
- dirSub
- Aufzulistende Unterverzeichnisse
- dirSubRecursive
- Rekursiv aufzulistende Unterverzeichnisse
- file
- Aufzulistende Dateien
- orderBy
- Element, nach dem die Liste sortiert werden soll
- orderDir [asc|desc]
- Sortierrichtung
- pageId
- Anzuzeigende Seite, falls die Liste über mehrere Seiten verteilt ist
- limitFrom
- Erster anzuzeigender Eintrag
- limitTo
- Letzter anzuzeigender Eintrag
- allowSelf [|1]
- Falls die aktuelle Datei auch aufgelistet werden darf
- listId
- ID der Liste
- expires
- Gültigkeit des Caches in Sekunden
- useCacheIfIsLoggedIn
- Falls der Cache auch für eingeloggte Benutzer genutzt werden soll
- cacheIdCallback
- Callback, um eigene CachID zu generieren
Allgemein
Beispiel: Generiert eine Liste über alle Dateien eines Verzeichnisses
Quelltext
<?php
$listParameters = array();
$listParameters['dir'] = '/dev/dokumentationen/framework/klassen';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Sortierung
Beispiel: Generiert eine Liste über alle Dateien eines Verzeichnisses nach dem Titel natürlich sortiert
Quelltext
<?php
$listParameters = array();
$listParameters['dir'] = '/dev/dokumentationen/framework/klassen';
$listParameters['orderBy'] = '/wd:extension/wd:meta/wd:title/text()';
$listParameters['orderDir'] = 'asc';
$listParameters['orderType'] = 'nat';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Limitierung
Beispiel: Generiert eine Liste über die neuesten 3 Dateien eines Verzeichnisses
Quelltext
<?php
$listParameters = array();
$listParameters['dir'] = '/dev/dokumentationen/framework/klassen';
$listParameters['limit'] = 3;
$listParameters['orderBy'] = '/wd:stat/@mtime';
$listParameters['orderDir'] = 'desc';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Beispiel: Generiert eine Liste über die zweit- und drittneueste Datei eines Verzeichnisses
Quelltext
<?php
$listParameters = array();
$listParameters['dir'] = '/dev/dokumentationen/framework/klassen';
$listParameters['limitFrom'] = 2;
$listParameters['limitTo'] = 3;
$listParameters['orderBy'] = '/wd:stat/@mtime';
$listParameters['orderDir'] = 'desc';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Mehrere Verzeichnisse
Beispiel: Generiert eine Liste über die drei neuesten Dateien zweier Verzeichnisse
Quelltext
<?php
$listParameters = array();
$listParameters['dir'][] = '/dev/dokumentationen/framework/klassen';
$listParameters['dir'][] = '/dev/dokumentationen/framework/funktionen';
$listParameters['limit'] = 3;
$listParameters['orderBy'] = '/wd:stat/@mtime';
$listParameters['orderDir'] = 'desc';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Mehrere Verzeichnisse rekursiv
Beispiel: Generiert eine Liste über die drei neuesten Dateien eines Verzeichnisses und dessen Unterverzeichnisse rekursiv
Quelltext
<?php
$listParameters = array();
$listParameters['dirRecursive'] = '/dev/dokumentationen/framework';
$listParameters['limit'] = 3;
$listParameters['orderBy'] = '/wd:stat/@mtime';
$listParameters['orderDir'] = 'desc';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Dateien direkt angeben
Beispiel: Generiert eine Liste über definierte Dateien
Quelltext
<?php
$listParameters = array();
$listParameters['file'][] = '/dev/dokumentationen/framework/klassen/wDocument.php';
$listParameters['file'][] = '/dev/dokumentationen/framework/klassen/wNavigation.php';
$listParameters['file'][] = '/dev/dokumentationen/framework/klassen/wList.php';
$listParameters['orderBy'] = '/wd:extension/wd:meta/wd:title/text()';
$listParameters['orderDir'] = 'asc';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Beispiel: Generiert eine Liste über definierte Dateien und Verzeichnisse
Quelltext
<?php
$listParameters = array();
$listParameters['file'][] = '/dev/dokumentationen/framework/klassen/wDocument.php';
$listParameters['file'][] = '/dev/dokumentationen/framework/klassen/wNavigation.php';
$listParameters['file'][] = '/dev/dokumentationen/framework/klassen/wList.php';
$listParameters['dir'][] = '/dev/dokumentationen/framework/klassen';
$listParameters['dir'][] = '/dev/dokumentationen/framework/funktionen';
$listParameters['limit'] = 10;
$listParameters['orderBy'] = '/wd:stat/@mtime';
$listParameters['orderDir'] = 'desc';
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Filter
Beispiel: Generiert eine Liste über alle Dateien, die zur Klasse wRepository gehören
Quelltext
<?php
$listParameters = array();
$listParameters['dir'][] = '/dev/dokumentationen/framework/klassen';
$listParameters['dir'][] = '/dev/dokumentationen/framework/funktionen';
$listParameters['orderBy'] = '/wd:extension/wd:meta/wd:title/text()';
$listParameters['orderDir'] = 'asc';
$listParameters['filterset'] = array('type' => 'or',
array("wPath" => "/wd:extension/wd:object/wd:data[@id='class']/text()", "operator" => "==", "condition" => "wRepository"),
array("wPath" => "/wd:extension/wd:meta/wd:title/text()", "operator" => "==", "condition" => "wRepository")
);
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Beispiel: Generiert eine Liste der wList-Funktionen inkl. der aktuellen Seite
Quelltext
<?php
$listParameters = array();
$listParameters['dir'] = '/dev/dokumentationen/framework/funktionen';
$listParameters['allowSelf'] = '1';
$listParameters['filterset'] = array('type' => 'or',
array("wPath" => "/wd:extension/wd:object/wd:data[@id='class']/text()", "operator" => "==", "condition" => "wList")
);
$listParameters['layout'] = '7dev';
$template = '/devGlobal/wGlobal/layout/templates/lists/default.wFilelist.php';
print wList::createList($template, $listParameters);
?>
Ergebnis
Weiterführende Links
Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.