Linktree (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
K (Hob den Schutz von „Linktree (SP-Tag)“ auf)
 
(11 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
 
==Syntax==
 
==Syntax==
 
<source lang="xml">
 
<source lang="xml">
<sp:linktree name="sp_sitemap" attributes="sp_headline, sp_teaser" parentlink="sp_parent.link" rootElement="${!{myroot}}" />
+
<sp:linktree name="sp_sitemap" attributes="sp_headline, sp_teaser" parentlink="sp_parent.link" rootelement="${!{myroot}}" />
</source>  
+
</source>
  
 
==Beschreibung==
 
==Beschreibung==
Der <code>linktree</code>-Tag kann zur Definition einer [[Baum|Baumstruktur]] verwendet werden, die sich aus der Verlinkung von Artikeln über z.B. [[Link#Systemlink|Systemlinks]] ergibt. Dieser Tag kann nur im <code>in</code>-Modus betrieben werden, da er nur zur Definition des Baumes dient. Anhand der Definition wird im Server der Baum aufgebaut und bei Änderungen der einzelnen Artikel aktuell gehalten. Ein Anwendungsfall für <code>sp:linktree</code> sind Sitemaps. Für die Ausgabe wird der Baum als Liste von [[ElementNode]]-Objekten mit <code>[[sp:loop]]</code> ausgegeben. Die in dem Baum enthaltenen Artikel enthalten nicht den vollständigen Datensatz sondern nur die in <code>attributes</code> definierten Felder. Artikel, die diesen Tag verwenden, werden auch nur aktuallisiert, wenn sich Felder von Artikeln des Baums ändern, die in <code>attributes</code> definiert wurden.
+
Der <code>linktree</code>-Tag kann zur Definition einer [[Baum|Baumstruktur]] verwendet werden, die sich z.B. aus der Verlinkung von Artikeln über [[Link#Systemlink|Systemlinks]] ergibt. Dieser Tag kann nur im <code>in</code>-Modus betrieben werden, da er nur zur Definition des Baumes dient. Anhand der Definition wird im Server der Baum aufgebaut und bei Änderungen der einzelnen Artikel aktuell gehalten. Ein Anwendungsfall für <code>sp:linktree</code> sind Sitemaps. Für die Ausgabe wird der Baum als Liste von [[ElementNode]]-Objekten mit <code>[[sp:loop]]</code> ausgegeben. Die in dem Baum enthaltenen Artikel enthalten nicht den vollständigen Datensatz, sondern nur die in <code>attributes</code> definierten Felder. Artikel die diesen Tag verwenden, werden auch nur aktualisiert, wenn sich Felder von Artikeln des Baums ändern, die in <code>attributes</code> definiert wurden.
  
 
==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
Zeile 21: Zeile 21:
 
| 1
 
| 1
 
|-
 
|-
| <code>rootElement</code>
+
| <code>rootelement</code>
 
| [[ID]]
 
| [[ID]]
 
| Nein
 
| Nein
Zeile 27: Zeile 27:
 
| 1
 
| 1
 
|-
 
|-
| <code>attributes</code>
+
| <code>attributes ([[deprecated#2.1|deprecated]] ab Version 2.1)</code>
 
| [[Text]]
 
| [[Text]]
 
| Nein
 
| Nein
Zeile 73: Zeile 73:
 
:Name der Variable für das LinkTree-Objekt.
 
:Name der Variable für das LinkTree-Objekt.
  
;<code>rootElement</code>
+
;<code>rootelement</code>
:Das Root-Element des Baums. Ist kein Root-Element angegeben wird der dazugehörige Artikel als Root-Element verwendet.
+
:Das Root-Element des Baums. Ist kein Root-Element angegeben, wird der dazugehörige Artikel als Root-Element verwendet.
  
;<code>attributes</code>
+
;<code>attributes</code> ([[deprecated#1.2|deprecated]] ab Version 2.1)
:Eine Kommasepariete Liste von Attributen, die der Artikel enthalten und auf dessen Änderungen er reagieren soll.
+
:Eine Kommaseparierte Liste von Attributen, die der Artikel enthalten und auf dessen Änderungen er reagieren soll.
 +
:'''''Deprecated.''' Dieses Attribut wird nicht mehr benötigt. Die Abhängigkeiten werden automatisch erkannt (siehe [[Dependencies-Service]], [[LinkTree-Service]])''
  
 
;<code>parentlink</code>
 
;<code>parentlink</code>
Zeile 83: Zeile 84:
  
 
;<code>localelink</code>
 
;<code>localelink</code>
:Mit diesem Attribut kann angegeben werden, ob ein Linktree Sprachabhängig aufgebaut werden soll. Wird localelink auf <code>true</code> gesetzt, wird die Sprache des Publikationsbereichs für den Tree verwendet. Die Parentlinks, die den Baum ergeben müssen dann mit einer Sprache definiert werden.
+
:Mit diesem Attribut kann angegeben werden, ob ein Linktree sprachabhängig aufgebaut werden soll. Ist localelink auf <code>true</code> gesetzt, wird die Sprache des Publikationsbereichs für den Tree verwendet. Die Parentlinks die den Baum ergeben, müssen dann mit einer Sprache definiert werden.
  
 
;<code>sortkeys</code>
 
;<code>sortkeys</code>
Zeile 108: Zeile 109:
 
     attributes="sp_title"
 
     attributes="sp_title"
 
     parentlink="linktree_parent.navlink"
 
     parentlink="linktree_parent.navlink"
     rootElement="${!{linktree.root}.id}"
+
     rootelement="${!{linktree.root}.id}"
 
     sortkeys="name"/>
 
     sortkeys="name"/>
 
</sp:io>
 
</sp:io>
Zeile 151: Zeile 152:
 
[[Category:SP-Tags]]
 
[[Category:SP-Tags]]
 
[[Category:Qualität_des_Inhalts_prüfen]]
 
[[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]]
 
</noinclude>
 
</noinclude>

Aktuelle Version vom 24. Februar 2010, 12:40 Uhr

Name

<sp:linktree> — erzeugt Baumstrukturen aus Verlinkungen

Syntax

<sp:linktree name="sp_sitemap" attributes="sp_headline, sp_teaser" parentlink="sp_parent.link" rootelement="${!{myroot}}" />

Beschreibung

Der linktree-Tag kann zur Definition einer Baumstruktur verwendet werden, die sich z.B. aus der Verlinkung von Artikeln über Systemlinks ergibt. Dieser Tag kann nur im in-Modus betrieben werden, da er nur zur Definition des Baumes dient. Anhand der Definition wird im Server der Baum aufgebaut und bei Änderungen der einzelnen Artikel aktuell gehalten. Ein Anwendungsfall für sp:linktree sind Sitemaps. Für die Ausgabe wird der Baum als Liste von ElementNode-Objekten mit sp:loop ausgegeben. Die in dem Baum enthaltenen Artikel enthalten nicht den vollständigen Datensatz, sondern nur die in attributes definierten Felder. Artikel die diesen Tag verwenden, werden auch nur aktualisiert, wenn sich Felder von Artikeln des Baums ändern, die in attributes definiert wurden.

Attribute

Name Type Required Default ab IES Version
name Variable Ja None 1
rootelement ID Nein ID des Artikels 1
attributes (deprecated ab Version 2.1) Text Nein None 1
parentlink Text Nein None 1
localelink Condition Nein false 1
sortkeys Text Nein None 1
sortsequences Text Nein asc 1
sorttypes Text Nein text 1
locale Locale Nein None 1
name
Name der Variable für das LinkTree-Objekt.
rootelement
Das Root-Element des Baums. Ist kein Root-Element angegeben, wird der dazugehörige Artikel als Root-Element verwendet.
attributes (deprecated ab Version 2.1)
Eine Kommaseparierte Liste von Attributen, die der Artikel enthalten und auf dessen Änderungen er reagieren soll.
Deprecated. Dieses Attribut wird nicht mehr benötigt. Die Abhängigkeiten werden automatisch erkannt (siehe Dependencies-Service, LinkTree-Service)
parentlink
Name des Links, der auf einen, in der zu erstellenden Struktur, übergeordneten Artikel verweist.
localelink
Mit diesem Attribut kann angegeben werden, ob ein Linktree sprachabhängig aufgebaut werden soll. Ist localelink auf true gesetzt, wird die Sprache des Publikationsbereichs für den Tree verwendet. Die Parentlinks die den Baum ergeben, müssen dann mit einer Sprache definiert werden.
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 wird.
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

Navigationsbaum

Template Quelltext

<sp:io type="in">
  <sp:linktree
     name="linktree"
     attributes="sp_title"
     parentlink="linktree_parent.navlink"
     rootelement="${!{linktree.root}.id}"
     sortkeys="name"/>
</sp:io>

<sp:io type="out">

  <sp:collection
    name="treelist"
    object="linktree"
    action="addAll"/>

  <%-- Ausgabe des Baums mit sp:loop als unordered-list --%>
  <ul>
  <sp:loop collection="treelist" item="line">

    <sp:if name="lastLevel" gt="${line.level}">
      <sp:set name="i" expression="${lastLevel} - ${line.level}"/>
      <sp:for index="j" from="1" to="${i}">
        </ul></li>
      </sp:for>
    </sp:if>
    <sp:set name="lastLevel" value="${line.level}"/>

    <li>
    <sp:print name="line.title"/><br>

    <sp:if condition="${line.hasNodes} == false"></li></sp:if>
    <sp:if condition="${line.hasNodes} == true"><ul></sp:if>

  </sp:loop>

  <sp:for index="j" from="0" condition="${lastLevel} > 0 && ${j} < ${lastLevel}">
    </ul></li>
  </sp:for>

  </ul>
</sp:io>