Livetree (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 16: Zeile 16:
  
 
==Beschreibung==
 
==Beschreibung==
Der Livetree-Tag dient zur Ausgabe und Steuerung von Bäumen, die sich durch Verknüpfungen von Artikeln über [[spt:link|Links]] ergeben. Im Gegensatz zu <code>sp:linktree</code>, der die Baumstruktur zwischenspeichert, werden bei <code>sp:livetree</code> bei jedem Aufruf alle Verknüpfungen, mit dem im <code>parentlink</code> angegebenen Namen, gesucht und der Baum daraus erstellt.
+
Der Livetree-Tag dient zur Ausgabe und Steuerung von Bäumen, die sich durch Verknüpfungen von Artikeln über [[spt:link|Links]] ergeben. Im Gegensatz zu <code>sp:linktree</code>, der die Baumstruktur zwischenspeichert, werden mit <code>sp:livetree</code> bei jedem Aufruf alle Verknüpfungen, mit dem im <code>parentlink</code> angegebenen Namen gesucht und der Baum daraus erstellt.
  
Mit <code>rootElement</code> wird der Startpunkt des Baumes definiert. Alle Artikel, die über <code>parentlink</code> mit dem <code>rootElement</code> verknüpft sind bilden die erste Unterebene. Alle Artikel die mit den Artikel dieser Unterebene verknüpft sind bilden die zweite Unterebene und so weiter. Es werden nur Aritkel in dem Baum aufgenommen, die in dem Publisher <code>publisher</code> publiziert sind. Mit Hilfe von <code>sortkeys</code>, <code>sortsequences</code> und <code>sorttypes</code> können die Elemente des Baumes sortiert werden.
+
Mit <code>rootElement</code> wird der Startpunkt des Baumes definiert. Alle Artikel, die über <code>parentlink</code> mit dem <code>rootElement</code> verknüpft sind, bilden die erste Unterebene. Alle Artikel die mit dem Artikel dieser Unterebene verknüpft sind, bilden die zweite Unterebene und so weiter. Es werden nur Aritkel in dem Baum aufgenommen, die in dem <code>publisher</code> publiziert sind. Mit Hilfe von <code>sortkeys</code>, <code>sortsequences</code> und <code>sorttypes</code> können die Elemente des Baumes sortiert werden.
  
Im Initialzustand ist der Baum geschlossen. Das bedeutet das <code>sp:livetree</code> nur das <code>rootElement</code> zurückliefert. Erst durch die Angabe von einem <code>node</code> und der Aktion <code>open</code> wird der Baum geöffnet. Liegt node in einer tieferen Ebene werden alle Elemente geöffnet, die zu <code>node</code> führen. <code>node</code> ist ein Variablenname dessen Wert eine [[ID]] sein muß. Solange für <code>node</code> der gleiche Variablenname verwendet wird, bleiben die geöffneten Elemente offen, auch wenn <code>sp:livetree</code> erneut aufgerufen wird.
+
Im Initialzustand ist der Baum geschlossen. Das bedeutet, dass <code>sp:livetree</code> nur das <code>rootElement</code> zurückliefert. Erst durch die Angabe von einem <code>node</code> und der Aktion <code>open</code> wird der Baum geöffnet. Liegt node in einer tieferen Ebene werden alle Elemente geöffnet, die zu <code>node</code> führen. <code>node</code> ist ein Variablenname dessen Wert eine [[ID]] sein muss. Solange für <code>node</code> der gleiche Variablenname verwendet wird, bleiben die geöffneten Elemente offen, auch wenn <code>sp:livetree</code> erneut aufgerufen wird.
  
 
==Attribute==
 
==Attribute==
Zeile 120: Zeile 120:
  
 
;<code>sortsequences</code>
 
;<code>sortsequences</code>
:Für jedes Sortierkriterium muss eine Sortierreihenfolge festgelegt werden, mit der bestimmt wird ob mit dem Sortierkriterium aufsteigend (<code>desc</code>), absteigend (<code>asc</code>) oder zufällig (<code>random</code>) sortiert wird.
+
:Für jedes Sortierkriterium muss eine Sortierreihenfolge festgelegt werden, mit der bestimmt wird, ob mit dem Sortierkriterium aufsteigend (<code>desc</code>), absteigend (<code>asc</code>) oder zufällig (<code>random</code>) sortiert werden soll.
  
 
;<code>sorttypes</code>
 
;<code>sorttypes</code>
Zeile 126: Zeile 126:
  
 
;<code>locale</code>
 
;<code>locale</code>
:Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger Variablen.
+
:Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen.
  
 
==Beispiele==
 
==Beispiele==
Zeile 132: Zeile 132:
 
===Livetree mit Parameterübergabe===
 
===Livetree mit Parameterübergabe===
  
<code>sp:livetree</code> verwendet zwei Parameter. Zum einen myNode, welches den Artikel angibt, auf die die Aktion angewendet werden soll. Zum anderen myAction in der die auszuführende Aktion steht. Nach der Aktion wird der Baum ausgegeben.
+
<code>sp:livetree</code> verwendet zwei Parameter. Zum einen myNode, welches den Artikel angibt auf die die Aktion angewendet werden soll. Zum anderen myAction in der die auszuführende Aktion steht. Nach der Aktion wird der Baum ausgegeben.
  
 
Template Quelltext
 
Template Quelltext
Zeile 164: Zeile 164:
 
<noinclude>
 
<noinclude>
 
[[Category:SP-Tags]]
 
[[Category:SP-Tags]]
[[Category:Qualität_der_Sprache_prüfen]]
 
 
[[Category:Qualität_des_Codes_prüfen]]
 
[[Category:Qualität_des_Codes_prüfen]]
 
[[Category:Beispiel_überarbeiten_testen]]
 
[[Category:Beispiel_überarbeiten_testen]]
 
</noinclude>
 
</noinclude>

Version vom 13. Februar 2009, 10:20 Uhr

Name

<sp:livetree> - Mit diesem Tag lassen sich Bäume erzeugen, verändern und in ihnen suchen.

Syntax

<sp:livetree name="tree"
  name="livetree"
  parentlink="myparent"
  rootElement="${!{myroot}}"
  node="node"
  sortkeys="created, name"
  sortsequences="desc, asc"
  sorttypes="date, text"
  action="${action}"/>

Beschreibung

Der Livetree-Tag dient zur Ausgabe und Steuerung von Bäumen, die sich durch Verknüpfungen von Artikeln über Links ergeben. Im Gegensatz zu sp:linktree, der die Baumstruktur zwischenspeichert, werden mit sp:livetree bei jedem Aufruf alle Verknüpfungen, mit dem im parentlink angegebenen Namen gesucht und der Baum daraus erstellt.

Mit rootElement wird der Startpunkt des Baumes definiert. Alle Artikel, die über parentlink mit dem rootElement verknüpft sind, bilden die erste Unterebene. Alle Artikel die mit dem Artikel dieser Unterebene verknüpft sind, bilden die zweite Unterebene und so weiter. Es werden nur Aritkel in dem Baum aufgenommen, die in dem publisher publiziert sind. Mit Hilfe von sortkeys, sortsequences und sorttypes können die Elemente des Baumes sortiert werden.

Im Initialzustand ist der Baum geschlossen. Das bedeutet, dass sp:livetree nur das rootElement zurückliefert. Erst durch die Angabe von einem node und der Aktion open wird der Baum geöffnet. Liegt node in einer tieferen Ebene werden alle Elemente geöffnet, die zu node führen. node ist ein Variablenname dessen Wert eine ID sein muss. Solange für node der gleiche Variablenname verwendet wird, bleiben die geöffneten Elemente offen, auch wenn sp:livetree erneut aufgerufen wird.

Attribute

Name Type Required Default ab IES Version
name Variable Ja None 1
action Text Nein flip 1
node Variable Ja None 1
rootElement ID Ja None 1
publisher ID Ja None 1
parentlink Text Ja None 1
sortkeys Text Nein None 1
sortsequences Text Nein asc für alle Sortierkriterien 1
sorttypes Text Nein text für alle Sortierkriterien 1
locale Locale Nein None 1
name
Name der Variable für die Collection, die den Baum in Form von ElementNodes enthält.
action
Das Kommando, das auf das Element in node angewendet werden soll.
flip
Offenen Node schliessen / Geschlossenen Node öffnen.
open
Node öffnen.
close
Node schliessen.
expand
Node und den gesamten Pfad öffnen.
none
Es wird keine Aktion ausgeführt.
node
Der Name der Variablen, Element dessen Wert eine Element-ID des Elementes sein muß, auf die sich action bezieht. Solange der gleiche Variablenname verwendet wird, bleiben die geöffneten Elemente offen, auch wenn sp:livetree erneut aufgerufen wird (innerhalb einer Session).
rootElement
Das Root-Element des Baumes.
parentlink
Name des Links, der auf einen, in der zu erstellenden Struktur, übergeordneten Artikel verweist.
publisher
ID des Publishers, in dem die Artikel des Baumes publiziert sein müssen.
sortkeys
Attribute des Artikels, nach denen der Baum sortiert werden soll. Jede Ebene des Baums wird für sich sortiert.
sortsequences
Für jedes Sortierkriterium muss eine Sortierreihenfolge festgelegt werden, mit der bestimmt wird, ob mit dem Sortierkriterium aufsteigend (desc), absteigend (asc) oder zufällig (random) sortiert werden soll.
sorttypes
Für jedes Sortierkriterium kann ein Sortiertyp festgelegt werden, der bestimmt, wie sortiert wird. Dabei ist eine Sortierung von Zeichenketten (text) oder eine Sortierung von Zahlen (number) möglich.
locale
Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen.

Beispiele

Livetree mit Parameterübergabe

sp:livetree verwendet zwei Parameter. Zum einen myNode, welches den Artikel angibt auf die die Aktion angewendet werden soll. Zum anderen myAction in der die auszuführende Aktion steht. Nach der Aktion wird der Baum ausgegeben.

Template Quelltext

<sp:livetree
  name="myTree"
  rootElement="${!{linktree.root}}"
  node="myNode"
  action="${action}"/>
  parentlink="linktree_parent.navlink"
  publisher="${!{publisherAnchor}}"
  sortkeys="name"

Artikel-Baum:<br>
<sp:loop collection="myTree" item="it">
 <sp:for index="i" from="0" to="${it.level}">.</sp:for> <sp:print name="it.name"/>
</sp:loop>

Ausgabe

. Root Artikel
.. Sub Artikel 1
... Sub-Sub Artikel 1
.. Sub ARtikel 2
... Sub-Sub Artikel 2
.... Sub-Sub-Sub Artikel 1