Livetree (SP-Tag): Unterschied zwischen den Versionen
Hying (Diskussion | Beiträge) K |
|||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
name="livetree" | name="livetree" | ||
parentlink="myparent" | parentlink="myparent" | ||
+ | leaflink="myRubrik" | ||
rootElement="${!{myroot}}" | rootElement="${!{myroot}}" | ||
node="node" | node="node" | ||
Zeile 16: | Zeile 17: | ||
==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 | + | 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 | + | 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 | + | 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 60: | Zeile 61: | ||
| [[Text]] | | [[Text]] | ||
| Ja | | Ja | ||
+ | | None | ||
+ | | 1 | ||
+ | |- | ||
+ | | <code>leaflink</code> | ||
+ | | [[Text]] | ||
+ | | Nein | ||
| None | | None | ||
| 1 | | 1 | ||
Zeile 112: | Zeile 119: | ||
;<code>parentlink</code> | ;<code>parentlink</code> | ||
:Name des Links, der auf einen, in der zu erstellenden Struktur, übergeordneten Artikel verweist. | :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> | ;<code>publisher</code> | ||
Zeile 120: | Zeile 130: | ||
;<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 | + | :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 136: | ||
;<code>locale</code> | ;<code>locale</code> | ||
− | :Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei | + | :Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen. |
==Beispiele== | ==Beispiele== | ||
Zeile 132: | Zeile 142: | ||
===Livetree mit Parameterübergabe=== | ===Livetree mit Parameterübergabe=== | ||
− | <code>sp:livetree</code> verwendet zwei Parameter. Zum einen myNode, welches den Artikel angibt | + | <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 174: | ||
<noinclude> | <noinclude> | ||
[[Category:SP-Tags]] | [[Category:SP-Tags]] | ||
− | |||
[[Category:Qualität_des_Codes_prüfen]] | [[Category:Qualität_des_Codes_prüfen]] | ||
[[Category:Beispiel_überarbeiten_testen]] | [[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 wennsp: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