Subinformation (SP-Tag)
Version vom 13. März 2009, 12:15 Uhr von Jankowski (Diskussion | Beiträge)
Name
<sp:subinformation> - Subinformation-Tag
Syntax
<sp:subinformation name="sub"></sp:subinformation>
Beschreibung
Dieser Tag dient zur Gruppierung weiterer SP-Tags. Dadurch werden mehrere Information in einer sog. SubInformation zusammengefasst. Durch Angabe eines optionalen Typs, können außerdem noch bestimmte Objekte angelegt werden. So werden z.B. CalendarInformation-Objekte in Templates unter Verwendung dieses Tags beschrieben.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variable | Ja | None | 1 |
type
|
Text | Nein | None | 2.0.3 |
name
- Name der Subinformation.
type
- Optionale Angabe eines Typs. Dieser Tag erzeugt standardmäßig Subinformation-Objkete, kann aber auch bestimmte andere Datentypen erstellen. So kann über den Typ
calendar
ein CalendarInformation-Object angelegt werden.
Beispiele
Gruppierung von Textfeldern
Template Quelltext
<sp:subinformation name="sp_textblock">
<sp:text name="sp_text_a"/><br>
<sp:text name="sp_text_b"/><br>
</sp:subinformation>
Ausgabe
<sp:print name="sp:textblock.sp_text_a"/> - <sp:print name="sp:textblock.sp_text_b"/>
Zeitgesteuerte Freigabe von Artikeln
So oder ähnlich könnte ein Template aussehen, das die zeitgesteuerte Freigabe von Artikeln konfiguriert. Die eigentlichen Tasks liegen innerhalb eines CalendarInformation, das wiederum den Zeitpunkt bestimmt.
Artikel publizieren:<br>
<sp:subinformation name="publicationFrom" type="calendar">
<sp:text name="calendar" id="publicationFrom.calendarType" type="calendarType" size="16" hidden="true" value="day"/>
<sp:text name="calendar" id="publicationFrom.calendarFrom" type="calendarFrom" size="16" format="dd.MM.yyyy HH:mm"/><br>
<sp:text name="calendar" id="publicationFrom.calendarTo" type="calendarTo" size="16" format="dd.MM.yyyy HH:mm" hidden="true"/>
<sp:text name="publishTask" id="publicationFrom.taskDateType" type="taskDateType" value="-1" hidden="true"/>
<sp:text name="publishTask" id="publicationFrom.taskDate" type="taskDate" size="16" hidden="true"/>
<sp:text name="publishTask" id="publicationFrom.taskTemplate" type="taskTemplate" value="${editor_template}" hidden="true" />
<sp:text name="publishTask" id="publicationFrom.taskPublisher" type="taskPublisher" value="${_publisher}" hidden="true" />
</sp:subinformation>
Artikel depublizieren:<br>
<sp:subinformation name="publicationTo" type="calendar">
<sp:text name="calendar" id="publicationTo.calendarType" type="calendarType" size="16" hidden="true" value="day"/>
<sp:text name="calendar" id="publicationTo.calendarFrom" type="calendarFrom" size="16" format="dd.MM.yyyy HH:mm"/><br>
<sp:text name="calendar" id="publicationTo.calendarTo" type="calendarTo" size="16" format="dd.MM.yyyy HH:mm" hidden="true"/>
<sp:text name="depublishTask" id="publicationTo.taskDateType" type="taskDateType" value="-1" hidden="true" />
<sp:text name="depublishTask" id="publicationTo.taskDate" type="taskDate" size="16" hidden="true"/>
<sp:text name="depublishTask" id="publicationTo.taskTemplate" type="taskTemplate" value="${editor_template}" hidden="true" />
<sp:text name="depublishTask" id="publicationTo.taskPublisher" type="taskPublisher" value="${_publisher}" hidden="true" />
</sp:subinformation>
Erstellung eines CalendarInformation
Template Quelltext
<sp:io type="in">
<sp:subinformation name="sp_dateItem" type="calendar">
<%-- Typ des Termins --%>
<sp:text name="calendar" type="calendarType" id="_calendarType" hidden="true"/>
<select name="calendarType" size="1" onchange="document.getElementById('_calendarType').value=this.options[this.options.selectedIndex].value; document.getElementsByName('SYS_INFE_action')[0].value='edit';document.forms[0].submit();">
<option value="day"<sp:if name="sp_dateItem.calendar.calendarType" eq="day"> selected="selected"</sp:if>>einfacher Termin (z.B. Urlaub)</option>
<option value="daily"<sp:if name="sp_dateItem.calendar.calendarType" eq="daily"> selected="selected"</sp:if>>täglicher Termin (z.B. Emails lesen)</option>
<option value="weekly"<sp:if name="sp_dateItem.calendar.calendarType" eq="weekly"> selected="selected"</sp:if>>wöchentlicher Termin (z.B. jeden Montag Besprechung)</option>
<option value="monthlyByDay"<sp:if name="sp_dateItem.calendar.calendarType" eq="monthlyByDay"> selected="selected"</sp:if>>Tag X eines Monats (z.B. immer am 15. eines Monats)</option>
<option value="monthlyByOccurrence"<sp:if name="sp_dateItem.calendar.calendarType" eq="monthlyByOccurrence"> selected="selected"</sp:if>>bestimmter Wochentag eines Monats (z.B. jeder 2. Samstag im Monat)</option>
<option value="yearlyByDay"<sp:if name="sp_dateItem.calendar.calendarType" eq="yearlyByDay"> selected="selected"</sp:if>>Tag X eines Jahres (z.B. 6. Tag des Jahres)</option>
<option value="yearlyByOccurrence"<sp:if name="sp_dateItem.calendar.calendarType" eq="yearlyByOccurrence"> selected="selected"</sp:if>>bestimmter Wochentag eines Monats (z.B. Pokalturnier am ersten Wochenende im Juni)</option>
<option value="yearlyByMonth"<sp:if name="sp_dateItem.calendar.calendarType" eq="yearlyByMonth"> selected="selected"</sp:if>>Tag X eines Monats im Jahr (z.B. Geburtstag)</option>
</select>
<%-- Start und Ende des Termins --%>
<table>
<tr>
<td>von:</td><td><sp:text name="calendar" id="_calendarFrom" type="calendarFrom" size="10" format="dd.MM.yyyy"/></td>
<td>bis:</td><td><sp:text name="calendar" id="_calendarTo" type="calendarTo" size="10" format="dd.MM.yyyy"/></td>
</tr>
</table>
<%-- ganztägige Termine --%>
<sp:text name="calendar" type="calendarAllDay" id="_calendarAllDay" fixvalue="true" hidden="true"/>
<%-- Konfiguration der Wiederholungen --%>
<sp:if condition="${sp_dateItem} != '' && ${sp_dateItem.calendar.calendarType} != 'day'">
Wiederholungen:<br>
<table>
<tr>
<sp:set name="_readonly" value="false"/><sp:if name="sp_dateItem.calendar.calendarRepetitionCount" gt="0"><sp:set name="_readonly" value="true"/></sp:if>
<td>Wiederholungen bis:</td><td><sp:text name="calendar" id="_calendarRepetitionDate" type="calendarRepetitionDate" size="10" format="dd.MM.yyyy" readonly="${_readonly}" onchange="document.getElementById('_calendarRepetitionCount').value=0"/></td>
<td>Anzahl der Wiederholungen:</td><td><sp:text name="calendar" id="_calendarRepetitionCount" type="calendarRepetitionCount" size="3" onchange="document.getElementById('_calendarRepetitionDate').value=''"/></td>
</tr>
</table>
<br>
Interval (0-n):<br><sp:text name="calendar" id="_calendarInterval" type="calendarInterval" size="3"/><br>
<%-- dow --%>
<sp:if condition="${sp_dateItem.calendar.calendarType} == 'weekly' || ${sp_dateItem.calendar.calendarType} == 'monthlyByOccurrence' || ${sp_dateItem.calendar.calendarType} == 'yearlyByOccurrence'">
<br>
<sp:condition>
<sp:if condition="${sp_dateItem.calendar.calendarType} != 'weekly'">
Tag der Woche:<br>
</sp:if>
<sp:else>
Tage der Woche (Mehrfachauswahl):<br>
</sp:else>
</sp:condition>
<sp:text name="calendar" type="calendarDow" id="_calendarDow" hidden="true"/>
<select name="calendarDow" size="7" <sp:if condition="${sp_dateItem.calendar.calendarType} == 'weekly'">multiple="true" </sp:if>onchange="var ret = ''; for (i = 0; i < this.length; i++) { if (this.options[i].selected == true) { if (ret != '') ret+=','; ret+=this.options[i].value; }} document.getElementById('_calendarDow').value=ret;">
<option value="mon"<sp:if name="sp_dateItem.calendar.calendarDow" contains="mon"> selected="selected"</sp:if>>Montag</option>
<option value="tue"<sp:if name="sp_dateItem.calendar.calendarDow" contains="tue"> selected="selected"</sp:if>>Dienstag</option>
<option value="wed"<sp:if name="sp_dateItem.calendar.calendarDow" contains="wed"> selected="selected"</sp:if>>Mittwoch</option>
<option value="thu"<sp:if name="sp_dateItem.calendar.calendarDow" contains="thu"> selected="selected"</sp:if>>Donnerstag</option>
<option value="fri"<sp:if name="sp_dateItem.calendar.calendarDow" contains="fri"> selected="selected"</sp:if>>Freitag</option>
<option value="sat"<sp:if name="sp_dateItem.calendar.calendarDow" contains="sat"> selected="selected"</sp:if>>Samstag</option>
<option value="sun"<sp:if name="sp_dateItem.calendar.calendarDow" contains="sun"> selected="selected"</sp:if>>Sonntag</option>
</select>
</sp:if>
<%-- dom --%>
<sp:if condition="${sp_dateItem.calendar.calendarType} == 'monthlyByDay' || ${sp_dateItem.calendar.calendarType} == 'yearlyByMonth'">
<br>
Tag der Monats (1-31):<br><sp:text name="calendar" id="_calendarDom" type="calendarDom" size="2"/><br>
</sp:if>
<%-- oom --%>
<sp:if condition="${sp_dateItem.calendar.calendarType} == 'monthlyByOccurrence' || ${sp_dateItem.calendar.calendarType} == 'yearlyByOccurrence'">
<br>
Woche des Monats (1-5):<br><sp:text name="calendar" id="_calendarOom" type="calendarOom" size="1"/><br>
</sp:if>
<%-- doy --%>
<sp:if condition="${sp_dateItem.calendar.calendarType} == 'yearlyByDay'">
<br>
Tag des Jahres (1-365):<br><sp:text name="calendar" id="_calendarDoy" type="calendarDoy" size="3"/><br>
</sp:if>
<%-- moy --%>
<sp:if condition="${sp_dateItem.calendar.calendarType} == 'yearlyByMonth' || ${sp_dateItem.calendar.calendarType} == 'yearlyByOccurrence'">
<br>
Monat des Jahres:<br>
<sp:text name="calendar" type="calendarMoy" id="_calendarMoy" hidden="true"/>
<select name="calendarMoy" size="1" onchange="document.getElementById('_calendarMoy').value=this.options[this.options.selectedIndex].value;">
<option value="0"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="0"> selected="selected"</sp:if>>Januar</option>
<option value="1"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="1"> selected="selected"</sp:if>>Februar</option>
<option value="2"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="2"> selected="selected"</sp:if>>März</option>
<option value="3"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="3"> selected="selected"</sp:if>>April</option>
<option value="4"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="4"> selected="selected"</sp:if>>Mai</option>
<option value="5"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="5"> selected="selected"</sp:if>>Juni</option>
<option value="6"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="6"> selected="selected"</sp:if>>Juli</option>
<option value="7"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="7"> selected="selected"</sp:if>>August</option>
<option value="8"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="8"> selected="selected"</sp:if>>September</option>
<option value="9"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="9"> selected="selected"</sp:if>>Oktober</option>
<option value="10"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="10"> selected="selected"</sp:if>>November</option>
<option value="11"<sp:if name="sp_dateItem.calendar.calendarMoy" eq="11"> selected="selected"</sp:if>>Dezember</option>
</select>
</sp:if>
</sp:if>
</sp:subinformation>
</sp:io>
Ausgabe
von: <sp:print name="sp_dateItem.calendar.calendarFrom" dateformat="dd.MM.yyyy"/><br>
bis: <sp:print name="sp_dateItem.calendar.calendarTo" dateformat="dd.MM.yyyy"/><br>