Custom-Tags

Aus SiteparkWiki
Version vom 2. Juni 2009, 09:16 Uhr von Sed (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der IES bietet die Möglichkeit neben Templates auch eigene Tags, sog. Custom-Tags, innerhalb eines Mandanten zu erstellen und zu verwenden. Als Custom-Tags bezeich...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der IES bietet die Möglichkeit neben Templates auch eigene Tags, sog. Custom-Tags, innerhalb eines Mandanten zu erstellen und zu verwenden. Als Custom-Tags bezeichnet man hierbei Templates eines besonderen Typs, die über InfoSite erstellt und bearbeitet werden. Dabei wird für jeden Mandanten ein eigener Namensraum (analog zu spt) definiert. Die Verwendung solcher Tags unterscheidet sich danach nicht mehr von den SPT-Tags.

<mytaglib:output name="sp_headline" type="html">

Zur Erstellung der Custom-Tags bietet der IES zwei Tags:

Da es sich bei den Custom-Tags genau wie bei allen Templates auch um JSP-Seiten handelt, sind hier besondere Regeln einzuhalten. Alle Attribute des Tags müssen in den ersten Zeilen in entsprechender JSP-Syntax definiert werden. Erst danach sind Kommentare (<%-- --%> oder andere SP-Tags erlaubt. Für jedes Attribut wird eine eigene Anweisung mit folgender Syntax angegeben:

<%@ attribute name="" required="true|false" rtexprvalue="true|false" %>


Beispiele

Border-Custom-Tag

Dieser Custom-Tag (mytaglib:border) soll je nach Typ-Angabe einen Rahmen um einen Text zeichnen.

Quelltext des Tag-Templates

<%@ attribute name="type" required="false" rtexprvalue="false" %>

<sp:condition>
  <sp:if condition="${type} == 'info'">
    <fieldset><legend>INFO</legend>
      <center><sp:tagbody/></center>
    </fieldset>
  </sp:if>
  <sp:elseif condition="${type} == 'error'">
    <fieldset><legend>Fehler</legend>
      <center><sp:tagbody/></center>
    </fieldset>
  </sp:elseif>
  <sp:else>
    <span style="border-width:1px; border-style:solid;">
      <sp:tagbody/>
    </span>
  </sp:else>
</sp:condition>

Quelltext des Templates in dem mytaglib:border verwendet wird

<mytaglib:border type="info">
  Eine kleine Infobox!
</mytaglib:border>

<mytaglib:border type="error">
  Ein Fehler ist aufgetreten!
</mytaglib:border>

<mytaglib:border>
  Normaler Rahmen
</mytaglib:border>

Ausgabe

<fieldset><legend>INFO</legend>
  <center>Eine kleine Infobox!</center>
</fieldset>

<fieldset><legend>Fehler</legend>
  <center>Ein Fehler ist aufgetreten!</center>
</fieldset>

<span style="border-width:1px; border-style:solid;">
  Normaler Rahmen
</span>