Veröffentlichungsdatum: 08. März 2011
Änderungsdatum: 16. August 2011
listen templates auswahl select auswahllisten eigene individuelle
Dieser Artikel beschreibt, wie Sie eine eigene Auswahlliste für die Zeilentemplates der Listen umsetzen.
Das Weblication® CMS Listen-Element (list.standard.wItem.php) nutzt in der Projektbasis BASE zur Auswahl der Zeilenvorlagen standardmässig ein Skript (wGetListTemplats.php). Über dieses Skript werden die vorhandenen Zeilentemplates eingelesen und in der Auswahlbox gelistet.
... <div class="wEditorElementLabel"><xsl:value-of select="php:functionString('wTexts::getTextUser', 'editor_list_list_template')"/></div> <div class="wEditorElementValue"><table width="100%" cellpadding="0" cellspacing="0"><tr><td style="width:90%"><!-- web:text:start editor="select" script="/weblication/grid5/snippets/wGetListTemplates.php?pathProject=/[IHR-LAYOUT-PROJEKT]" inputStyle=""--><xsl:value-of select="wd:fragment[@id='listtemplate']/text()"/><!-- web:text:stop --></td><td style="width:24px;padding:0 0 0 2px"><wsl:buttonFilemanager path="/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/lists" showInEditor="1" icon="folder" caption="" title="{php:functionString('wTexts::getTextUser', 'editor_list_list_template_edit')}" style="" width="" height="" favorites="0" menubar="0"/></td></tr></table></div> ...
Die Auswahlbox liefert in der Bearbeitung der Listenoptionen die zur Verfügung stehenden Darstellungstemplates (Zeilentemplates).
Beispiel:
Um die Auswahl an Zeilentemplates individuell zu beeinflussen, bietet sich ein eigenes Skript zur Auswahl an. Als Grundlage können Sie das von der Software gelieferte Skript verwenden.
/weblication/grid5/snippets/wGetListTemplates.php
Kopieren Sie dies manuell in Ihr globales Projekt, z.B. wie folgt:
/[IHR-LAYOUT-PROJEKT]/wGlobal/scripts/php/wGetListTemplates.php
Nun können Sie in diesem Skript eine individuelle Auswahl umsetzen bzw. beliebig anders filtern. Das nachfolgende Beispiel zeigt Ihnen, wie Sie für Pflegebenutzer das Zeilentemplate für die Suche (search.wFilelist.php) in der Auswahl ausblenden / filtern.
//...
$query = array();
$query['dir'] = wRequest::getParameterPathSecure('pathProject').'/wGlobal/layout/templates/lists';
// Standardumsetzung:
//$query['filterset'] = array('type' => 'and', array('wPath' => '/wd:stat/@name', 'operator' => 'contains', 'condition' => '.wFilelist.php'));
// Filterset mit Beschränkung für Pflegebenutzer:
$query['filterset'] = array('type' => 'and');
$query['filterset'][] = array('wPath' => '/wd:stat/@name', 'operator' => 'contains', 'condition' => '.wFilelist.php');
if($userType != 'admin'){
// Fuer Nicht-Administratoren (also Pflegebenutzer) wird das Suche-Template nicht zur Auswahl angeboten:
$query['filterset'][] = array('wPath' => '/wd:stat/@name', 'operator' => '!contains', 'condition' => 'search');
}
//...