Evangelische Termine: Individuelle Exporte für Profis

Aus dem Veranstaltungskalender www.evangelische-termine.de lassen sich sehr individuell gestaltete und auf Ihre Bedürfnisse abgestimmte Exporte erstellen. Über sogenannte "Format-Definitionsdateien" wird gesteuert, was ausgegeben wird. Sie enthalten die Logik und die Anweisungen für die Gestaltung. Eine ausführliche Einführung und Anleitung, wie diese Format-Definitionsdateien erstellt werden, finden Sie im Online-Handbuch unter http://handbuch.evangelische-termine.de/exporte/manueller-export.

In diesem Beitrag möchte ich Ihnen ein Beispiel zeigen, das über die Basisfunktionen hinausgeht und etwas Grundwissen voraussetzt.

Ortsnamen ändern und neu sortieren

Das wollen wir erreichen: Wir möchten unsere Veranstaltungsorte in dem Export anders benennen als in evangelische-termine.de angelegt. Zudem soll der Export alphabetisch nach diesen anderen Bezeichnungen sortiert werden.

So geht es:

1. Kopieren Sie sich das Grundgerüst der Format-Definitionsdatei aus dem Handbuch (Punkt 2) und umgeben Sie den HTML-Quelltext mit {template:base} und {template: end} (siehe Punkt 6.1). Fügen Sie nun zwischen </html> und {template:end} folgendes ein, um die Änderungen vorzunehmen:

<et:modifications>
    <_place_NAME source="_place_ID">
        <item>687|Neue Ortsbezeichnung A</item>
        <item>485|Neue Ortsbezeichnung B</item>
        <item>2897|Neue Ortsbezeichnung C</item>
    </_place_NAME>
</et:modifications>

Dieser Abschnitt bedeutet, dass der Name des Veranstaltungsortes mit der entsprechenden _place_ID mit dem Wert hinter dem "|"-Zeichen ersetzt wird. Hier müssen Sie natürlich ihre eigenen Werte einsetzen. Die Ids finden Sie auf ihrer Veranstaltungsorts-Liste. Sie können beliebig viele Ersetzungen vornehmen.

2. Fügen Sie anschließend in den Inhaltsbereich zwischen <div id="content"> und </div> folgendes ein:

<xsl:variable name="sortedVeranstaltungen">
    <xsl:for-each select="Veranstaltung">
        <xsl:sort select="_place_NAME"/>       
        <xsl:sort select="START"/>
        <xsl:copy-of select="." />
    </xsl:for-each>
</xsl:variable>

Dies erstellt eine sogenannte Variable, die Ihre Veranstaltungen nach der neuen Ortsbezeichnung und anschließend nach dem zeitlichen Beginn sortiert.

3. Direkt danach können Sie dann eine Schleife angeben, die diese sortierte Liste ausgibt:

<xsl:for-each select="exsl:node-set($sortedVeranstaltungen)/Veranstaltung">
    {ifnotprev:_place_NAME}<br /><strong>{elem:_place_NAME}</strong>{ifnotprev:end}
    <br />{elem:DATUM} - {elem:_event_TITLE}
</xsl:for-each>

Das Element "ifnotprev" gibt den Ortsnamen nur aus, wenn er das erste Mal vorkommt. Selbstverständlich können Sie hier weitere Werte einer Veranstaltung mit dem {elem: }-Element ausgeben.

Hier können Sie die ganze

.
 



Miklós Geyer

Miklós Geyer ist als Leiter der Vernetzten Kirche nicht nur Experte für alle aktuellen Produkte und Projekte. Als langjähriger Mitarbeiter der Vernetzten Kirche ist er Garant für Kontinuität und das Gedächtnis dieser Abteilung in ihren verschiedenen Arbeitsformen. Mit den Evangelischen Terminen hat er die evangelische Termindatenbank für Bayern entwickelt. Im Blog widmet er sich vornehmlich den Funktionen dieser Veranstaltungsplattform.