Livetree (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: ==Name== <sp:livetree> - xxx-Tag ==Syntax== <source lang="xml"> <sp:xxx name="variable" encoding="html"/> </source> ==Beschreibung== xxx ==Attribute== {| class="pre...)
 
K
 
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Name==
 
==Name==
<sp:livetree> - xxx-Tag
+
<sp:livetree> - Mit diesem Tag lassen sich Bäume erzeugen, verändern und in ihnen suchen.
  
 
==Syntax==
 
==Syntax==
 
<source lang="xml">
 
<source lang="xml">
<sp:xxx name="variable" encoding="html"/>
+
<sp:livetree name="tree"
 +
  name="livetree"
 +
  parentlink="myparent"
 +
  leaflink="myRubrik"
 +
  rootElement="${!{myroot}}"
 +
  node="node"
 +
  sortkeys="created, name"
 +
  sortsequences="desc, asc"
 +
  sorttypes="date, text"
 +
  action="${action}"/>
 
</source>  
 
</source>  
  
 
==Beschreibung==
 
==Beschreibung==
xxx
+
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 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, 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==
{| class="prettytable"
+
{| class="prettytable sortable"
 
|- class="hintergrundfarbe1"
 
|- class="hintergrundfarbe1"
 
! Name || Type || Required || Default || ab IES Version
 
! Name || Type || Required || Default || ab IES Version
 
|-
 
|-
| <code>xxx</code>
+
| <code>name</code>
| [[Attribute]]
+
| [[Variable]]
 
| Ja
 
| Ja
 
| None
 
| None
 
| 1
 
| 1
 
|-
 
|-
| <code>xxx</code>
+
| <code>action</code>
 
| [[Text]]
 
| [[Text]]
 
| Nein
 
| Nein
 +
| flip
 +
| 1
 +
|-
 +
| <code>node</code>
 +
| [[Variable]]
 +
| Ja
 
| None
 
| None
 
| 1
 
| 1
 
|-
 
|-
| <code>xxx</code>
+
| <code>rootElement</code>
| [[Expression]]
+
| [[ID]]
 +
| Ja
 +
| None
 +
| 1
 +
|-
 +
| <code>publisher</code>
 +
| [[ID]]
 +
| Ja
 +
| None
 +
| 1
 +
|-
 +
| <code>parentlink</code>
 +
| [[Text]]
 +
| Ja
 +
| None
 +
| 1
 +
|-
 +
| <code>leaflink</code>
 +
| [[Text]]
 +
| Nein
 +
| None
 +
| 1
 +
|-
 +
| <code>sortkeys</code>
 +
| [[Text]]
 
| Nein
 
| Nein
 
| None
 
| None
 
| 1
 
| 1
 
|-
 
|-
| <code>xxx</code>
+
| <code>sortsequences</code>
 +
| [[Text]]
 +
| Nein
 +
| <code>asc</code> für alle Sortierkriterien
 +
| 1
 +
|-
 +
| <code>sorttypes</code>
 +
| [[Text]]
 +
| Nein
 +
| <code>text</code> für alle Sortierkriterien
 +
| 1
 +
|-
 +
| <code>locale</code>
 
| [[Locale]]
 
| [[Locale]]
 
| Nein
 
| Nein
Zeile 40: Zeile 95:
 
|}
 
|}
  
;<code>xxx</code>
+
;<code>name</code>
:xxx.
+
:Name der Variable für die [[Collection]], die den Baum in Form von [[ElementNode|ElementNodes]] enthält.
 +
 
 +
;<code>action</code>
 +
:Das Kommando, das auf das Element in <code>node</code> 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.
 +
 
 +
;<code>node</code>
 +
:Der Name der Variablen, Element dessen Wert eine Element-ID des Elementes sein muß, auf die sich <code>action</code> bezieht. Solange der gleiche Variablenname verwendet wird, bleiben die geöffneten Elemente offen, auch wenn <code>sp:livetree</code> erneut aufgerufen wird (innerhalb einer Session).
 +
 
 +
;<code>rootElement</code>
 +
:Das Root-Element des Baumes.
 +
 
 +
;<code>parentlink</code>
 +
:Name des Links, der auf einen, in der zu erstellenden Struktur, übergeordneten Artikel verweist.
 +
 
 +
;<code>leaflink</code>
 +
:Name des Links, der Kinder, die auf Artikel in dem Baum verweisen, selber aber nicht in dem Baum enthalten sein sollen.
 +
 
 +
;<code>publisher</code>
 +
:[[ID]] des Publishers, in dem die Artikel des Baumes publiziert sein müssen.
  
;<code>xxx</code>
+
;<code>sortkeys</code>
:xxx.
+
:Attribute des Artikels, nach denen der Baum sortiert werden soll. Jede Ebene des Baums wird für sich sortiert.
  
==Beispiele==
+
;<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 werden soll.
 +
 
 +
;<code>sorttypes</code>
 +
:Für jedes Sortierkriterium kann ein Sortiertyp festgelegt werden, der bestimmt, wie sortiert wird. Dabei ist eine Sortierung von Zeichenketten (<code>text</code>) oder eine Sortierung von Zahlen (<code>number</code>) möglich.
  
====Beispiel A====
+
;<code>locale</code>
 +
:Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen.
  
Template Quelltext
+
==Beispiele==
<source lang="xml">
 
xxx
 
</source>
 
  
Ausgabe
+
===Livetree mit Parameterübergabe===
<source lang="text">
 
xxx
 
</source>
 
  
====Beispiel B====
+
<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
 
<source lang="xml">
 
<source lang="xml">
xxx
+
<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>
 
</source>
 
</source>
  
 
Ausgabe
 
Ausgabe
 
<source lang="text">
 
<source lang="text">
xxx
+
. Root Artikel
 +
.. Sub Artikel 1
 +
... Sub-Sub Artikel 1
 +
.. Sub ARtikel 2
 +
... Sub-Sub Artikel 2
 +
.... Sub-Sub-Sub Artikel 1
 
</source>
 
</source>
  
<!--
+
 
bitte die passenden Kategorien auswählen und Kommentar entfernen
 
--------------------------------------------------------------
 
 
<noinclude>
 
<noinclude>
 
[[Category:SP-Tags]]
 
[[Category:SP-Tags]]
[[Category:SPT-Tags]]
 
[[Category:Qualität_des_Inhalts_prüfen]]
 
[[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]]
 
</noinclude>
 
</noinclude>
-->
 

Aktuelle Version vom 16. Mai 2011, 11:47 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"
  leaflink="myRubrik"
  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
leaflink Text Nein 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.
leaflink
Name des Links, der Kinder, die auf Artikel in dem Baum verweisen, selber aber nicht in dem Baum enthalten sein sollen.
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