Link (SPT-Tag)

Aus SiteparkWiki
Version vom 18. Juni 2010, 08:37 Uhr von Frankl (Diskussion | Beiträge) (→‎Attribute)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Dieser Artikel bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit ihn zu verbessern und entferne anschließend diese Markierung.

Name

<spt:link> - Erzeugt Links auf Informationen und bindet Bildmedien ein.

Syntax

<spt:link name      = "variable"
          type      = "navlink"
          pools     = "!{gui.informations}"
          hidden    = "false"
          locale    = "de"
          size      = "50"
          value     = ""
          width     = ""
          height    = ""
          showtree  = "true"
/>

Beschreibung

Der Tag spt:link löst den veralteten Tag spt:systemlink ab.

Mit dem spt:link-Tag kann ein Link auf andere Informationen des Systems gesetzt werden. Mit diesem Tag lassen sich weiterhin Bildmedien in einen Artikel einbinden.

Dieser Link erzeugt ein readonly-Textfeld, in dem der Name des verknüpften Artikels, Resource oder Mediums angezeigt wird sowie einen Button. Bei Klick auf den Button öffnet sich ein Auswahldialog über den der zu verknüpfende Artikel ausgewählt werden kann. Es ist möglich bei Änderungen des Links, per JavaScript darauf zu reagieren. Dazu ist mit der JavaScript-Funktion setLinkChangeHandler(fieldname, f) ein Handler zu definieren, der aufgerufen werden soll, wenn sich der Link ändert. Mit fieldname muss der vollständige Name des Feldes angegeben werden (z.B. mylist[0].mysublist[2].mylink). f ist die Javascript-Funktion, die aufgerufen werden soll. Dies erfolgt mit zwei Parametern:

fieldname
Variablename des Feldes dessen Link geändert wurde.
fieldvalue
ID des Links der gesetzt wurde oder "", wenn der Link gelöst wurde.
<script language="javascript">
  function linkChanged(fieldname, fieldvalue) {
     alert("link changed: fieldname=" + fieldname + ",fieldvalue=" + fieldvalue);
  }
</script>
...
<spt:iterator name="mylist" item="it">
  <spt:iterator name="mysublist" item="jt">
    ...
    <spt:link name="mylink" type="link"/>
    <script language="javascript">
      setLinkChangeHandler("<sp:print name="jt.field"/>.mylink", linkChanged);
    </script>
  </spt:iterator>
</spt:iterator>

Attribute

Name Type Required Default ab IES Version
name Variable Ja nein 1
type Linktyp Nein link 1
pools Anchor-List oder ID-List Nein aktueller Informationspool 1
hidden Condition Nein false 1
locale Text Nein default 1
size Number Nein 50 1
value Text Nein kein 1
previewimage Boolean Nein kein 1
fixvalue Text Nein kein 2.0.3.26
width Number Nein Wert des Mediums 1
height Number Nein Wert des Mediums 1
showtree Text Nein true 1
filterquery SPQL Nein None 2.1.0.45
filterattribute Text Nein das Element selbst 2.1.0.45
filter Text / Regular-Expression Nein None 2.1.0.45
filtermode Text Nein simple 2.1.0.45
filteric Condition Nein false 2.1.0.45
filterinvert Condition Nein false 2.1.0.45
name
Name der Variable, unter der der Systemlink in die Datenbank geschrieben wird.
type
Typ der Verlinkung
systemlink
bei Änderung des verlinkten Artikels wird der verlinkende Artikel neu publiziert.
navlink
bei Änderung des verlinkenden Artikels wird der verlinkte neu publiziert.
resultlink
wird auf eine Suchabfrage verlinkt wird bei Änderung der Suchabfrage der verlinkende Artikel neu publiziert.
link
es erfolgt keine Aktualisierung in irgendeine Richtung.
image
'image' erzeugt einen Linktype 'systemlink'
es wird bei Verwendung im Ausgabebereich eines Templates ein <a href=...>-Tag generiert. Die Auswahl, die dem Redakteur zur Verfügung gestellt wird, ist von dieser Einstellung abhängig. Ist 'type=image' gesetzt, kann der Redakteur ein Bildmedium auswählen, mit dem ein <img ...>-Tag generiert wird.
pools
Kommaseparierte Liste mit Anchors von Artikelpools oder mit IDs von Artikelpools; die Elemente der Pools werden dem Redakteur zur Auswahl angeboten.
hidden
Macht das Feld unsichtbar.
locale
Diese Attribut bestimmt die Mehrsprachigkeit der Variable.
size
HTML-size Wert des von spt:link erzeugten Eingabefeldes.
value
Vorgabefeld für das erzeugte Eingabefeld.
fixvalue
Überschreibt jeden vorhandenen Inhalt der mit name bestimmten Variablen mit dem durch fixvalue angegebenen Wert.
previewimage
previewimage=false verhindert die automatische Anzeige von verküpften Bildern.
width
Bei type="image" kann durch dieses Attribut der 'width'-Wert des generierten <img ...>-Tags gesetzt werden.
height
Bei type="image" kann durch dieses Attribut der 'height'-Wert des generierten <img ...>-Tags gesetzt werden.
showTree (deprecated ab Version 2.0.3.26)
Deprecated. Dieses Attribut ist veraltet und es sollte das Attribut showtree verwendet werden.
showtree
wenn false, werden nur die im Attribut pools übergebenen Einsprungpunkte in der Baumansicht angezeigt (ohne Aufklappmöglichkeit und ohne Kinder)
filterquery
mit diesem Parameter kann eine Suchabfrage definiert werden, welche die anzuzeigenden Elemente für jeden Pool filtert. Als Ergänzung zu den folgenden 5 Parametern, die mit sp:filter arbeiten, ist es so auch möglich, Artikel herauszufiltern, deren Informationen sich in Iteratoren befinden.


Die folgenden Attribute beziehen sich auf die rechte Spalte des Link-Dialoges und filtern anzuzeigende Elemente in einem ausgewählten Pool mit sp:filter


filterattribute
Attribut, auf das der Filter angewendet werden soll.
filter
Die Filterdefinition für die Filtertypen Wildcard und regulärer Ausdruck. Der mit dem Attribut mode angegebene Modus wird verwendet. Ohne Angabe eines Modus wird simple verwendet.
filtermode
Auswahl des Filter-Mechanismus.
simple (Wildcard-Filter)
Der Filter kann die Wildcards * für beliebige Zeichen und ? für ein beliebiges Zeichen enthalten. So würde eine wie folgt gefilterte Liste nur Elemente enthalten, die mit a beginnen.
a*
regex (Reguläre Ausdrücke)
Für komplexe Filter stehen Reguläre Ausdrücke (POSIX) zur Verfügung. So würde im regex-Filtermode eine mit
[a-dA-D].*
gefilterte Liste nur Elemente enthalten, die mit dem Buchstaben A, a, B, b, C, c, d oder D beginnen.
filteric
Ist Ignore-Case auf true gesetzt, wird eine Groß- und Kleinschreibung nicht berücksichtigt. Dieses Attribut gilt nur für die Filtertypen Wildcard und regulärer Ausdruck.
filterinvert
Invertiert die Logik des Filters. Alle Elemente die normalerweise herausgefiltert würden, bilden die Filterergebnisse.

Beispiele

Verschiedene Links

Template Quelltext

<sp:io type="in">
  <spt:link type="navlink" name="sp_parent" pools="!{information.pool}" size="60"/><br>
  <spt:link name="imglink" type="image" size="20" pools="!{media},!{infra}" linklabel="Thumbnail wählen"/>
</sp:io>

<sp:io type="out">
  <a href="<sp:print name='sp_parent.navlink.url'/>">
    <img src="<sp:print name='imglink.link.url'/>" height="50" width="80"/>
  </a>
</sp:io>