Das Tourenangebot kann auf folgende Arten auf der Sektionsseite integriert werden:
Verlinkung #
Es ist die einfachste Art der Integration. Ein Link z.B. Tourenangebot wird auf der Website der Sektion definiert. Alternativ kann der Link auch durch ein Menüpunkt oder als Call-To-Action Button integriert werden. Beim Klick auf den Link wird die Tourenangebot Startseite mit den aktuellen Touren angezeigt.
Code-Beispiel:
<a href="https://touren.sac-albis.ch" target="_blank">Tourenangebot</a>
Beispiel der Integration:
Verlinkung mit definierten Suchkriterien #
Ein Link kann Suchkriterien beinhalten. So können z.B. Seniorentouren direkt dargestellt werden.
Code-Beispiel:
<a href="https://touren.sac-albis.ch/?title=&range=&range=1&startdate=&enddate=&tour_guide=&tour_groups%5B_ids%5D=&tour_groups%5B_ids%5D%5B%5D=084d7836-2838-4832-9783-f3af37054485&tour_types%5B_ids%5D=&difficulties%5B_ids%5D=&conditional_requisites%5B_ids%5D=&tour_statuses%5B_ids%5D=" target="_blank">Seniorentouren</a>
Vorgehen:
- Die Suche direkt im Tourenangebot anwenden
- Der Link aus der URL Zeile übernehmen
Beispiel der Integration:
RSS Feeds #
Das Tourenangebot bietet folgende RSS Feeds an:
- Aktuelle Touren
- Aktuelle Anlässe
- Tourenberichte
Die Feeds sind direkt im Tourenangebot zugänglich. Um sie zu nutzen, muss die URL des Feeds übernommen werden. Beispiel einer RSS-Feed URL für aktuelle Touren:
https://touren.sac-albis.ch/tours/search.rss
Die Ausgabe ist für Benutzer nicht lesbar (siehe RSS Spezifikation). Aus diesem Grund werden sogenannte RSS-Reader oder Aggregatoren eingesetzt. Auf der Website muss ein RSS-Reader Plugin installiert werden. Im TYPO3 oder im WordPress CMS sind solche Plug-ins vorhanden.
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:tourdb="http://www.tourenangebot.ch/schema/tourdbrss/1.0" version="2.0"><channel><title>Aktuelle Touren</title><link>https://sac-rjukan.tourdb-dev.tourdb.climbit.ch/tours/search.rss</link><description>Alle aktuellen Touren der Sektion Rjukan</description><category>Sektion Rjukan</category><category>Touren</category><item><title>Tour mit einem definierten Anmeldeschluss (K/B) Marek Polacek</title><link>https://sac-rjukan.tourdb-dev.tourdb.climbit.ch/tours/view/772132f1-370f-4491-baf7-62ae14880289</link><guid>https://sac-rjukan.tourdb-dev.tourdb.climbit.ch/tours/772132f1-370f-4491-baf7-62ae14880289</guid><description>15.6.2021 [Di] meine Beschreibung</description><category>Sektion</category><category>Senioren</category><category>Klettern</category><author>Marek Polacek</author><pubDate>Thu, 10 Dec 2020 09:48:36 +0100</pubDate><tourdb:title>Tour mit einem definierten Anmeldeschluss</tourdb:title><tourdb:startdate>2021-06-15</tourdb:startdate><tourdb:enddate>2021-06-15</tourdb:enddate><tourdb:signuprequired>true</tourdb:signuprequired><tourdb:deadline>2021-06-14</tourdb:deadline><tourdb:tourtype>K</tourdb:tourtype><tourdb:difficulty/><tourdb:conditionalrequisite>B</tourdb:conditionalrequisite><tourdb:withmountainguide>false</tourdb:withmountainguide><tourdb:tourweek>false</tourdb:tourweek><tourdb:hints/></item></channel></rss>
Beispiele der Integration:
Wie die RSS Feeds auf den Sektionswebsites integriert werden, dokumentieren folgende Beispiele:
RSS Feed mit definierten Suchkriterien #
Falls spezifische Tourenlisten dargestellt werden sollen, z.B. nach Tourengruppe und Tourentyp gefiltert, muss die RSS Feed URL parametrisiert werden.
Vorgehen:
- Analog zu der Verlinkung mit definierten Suchkriterien (siehe oben) können die Suchkriterien der durchgeführten Suche im Tourenangebot aus der URL Zeile übernommen werden.
- Die URL des RSS Feed wird um die Zeichenkette ab dem ersten Fragezeichen „?“ ergänzt.
RSS Feed URL Beispiel:
https://touren.sac-albis.ch/tours/search.rss?title=&range=&range=1&startdate=&enddate=&tour_guide=&tour_groups%5B_ids%5D=&tour_groups%5B_ids%5D%5B%5D=cde0d4c3-714d-46bc-915e-b0f6e626ec58&tour_types%5B_ids%5D=&tour_types%5B_ids%5D%5B%5D=6819a131-eb81-4e84-b8bc-3c6dae16f1d8&difficulties%5B_ids%5D=&conditional_requisites%5B_ids%5D=&tour_statuses%5B_ids%5D=
Im Beispiel wurden aktuelle Touren mit der Tourengruppe = „Sektion“ und dem Tourentyp = „Hochtour“ gesucht.
Namenspace tourdb #
Der RSS Feed für aktuelle Touren beinhaltet ein spezifisches tourdb Namespace. Das erlaubt uns den RSS Standardformat einzuhalten und trotzdem zusätzliche Felder zu transportieren. Folgende Felder sind im tourdb Namespace definiert:
- Title (seit der v2.6)
- Startdate
- Enddate
- Signuprequired
- Deadline
- Tourtype
- Difficulty
- Conditionalrequisite
- Withmountainguide
- Tourweek
- Hints
Beispiel:
<tourdb:title>Salbit Südgrat</tourdb:title><tourdb:startdate>2021-07-01</tourdb:startdate><tourdb:enddate>2021-07-03</tourdb:enddate><tourdb:signuprequired>true</tourdb:signuprequired><tourdb:deadline>2021-06-30</tourdb:deadline><tourdb:tourtype>K</tourdb:tourtype><tourdb:difficulty>V</tourdb:difficulty><tourdb:conditionalrequisite>A</tourdb:conditionalrequisite><tourdb:withmountainguide>false</tourdb:withmountainguide><tourdb:tourweek>false</tourdb:tourweek><tourdb:hints><tourdb:hint><tourdb:type>limitation</tourdb:type><tourdb:text>Noch ein Platz frei!</tourdb:text></tourdb:hint></tourdb:hints>
Kategorien #
Ausserdem werden pro Eintrag (Item) zwei Kategorien definiert. Die erste Kategorie beschreibt die Zugehörigkeit zu der Sektionsgruppe und die zweite Kategorie den Tourentyp.
Beispiel:
<category>Sektion</category><category>Klettern</category>
Beispiel der Integration:
Formatierte Liste #
Die dritte Option, um die aktuelle Touren aus dem Tourenangebot auf der Sektionswebsite zu integrieren, bietet die formatierte Liste. Durch ein Aufruf wird die formatierte Liste, die man aus dem Tourenangebot kennt, als HTML Code geliefert. Dia Ausgabe kann z. B. via iFrame integriert werden.
Man kann die Liste entweder ohne oder mit Suchkriterien (Parameter) aufrufen.
Beispiel ohne Parameter:
https://touren.sac-albis.ch/tours/plainList
Beispiel mit definierten Suchkriterien:
https://touren.sac-albis.ch/tours/plainList?title=&range=&range=1&startdate=&enddate=&tour_guide=&tour_groups%5B_ids%5D=&tour_types%5B_ids%5D=&tour_types%5B_ids%5D%5B%5D=4e44371f-c36c-4dfb-b66b-34af1b2c2a9b&difficulties%5B_ids%5D=&conditional_requisites%5B_ids%5D=&tour_statuses%5B_ids%5D=
Beispiel der Integration: