Mini-Tutorial: die Sache mit der Feedausgabe bei EventList
- geschrieben von Gerald Martin
- Freigegeben in CSS, HTML & Co.
- Gelesen 6108 mal
- Schriftgröße Schriftgröße verkleinern Schrift vergrößern
- Schreiben Sie den ersten Kommentar!
Problem: Die Terminansicht wird korrekt angezeigt, die Ausgabe als Feed verlinkt aber nicht auf die entsprechenden Detailseiten der Einträge, sondern scheinbar wahllos auf andere (bereits abgelaufene) Termine.
Bei einem aktuellen Projekt bin ich darauf gestoßen:
Als Ausgabe für Termine wird EventList (www.schlu.net) in der aktuellen Version 1.0.1 verwendet:
www.ec-sachsen.de/index.php?option=com_eventlist&view=categoryevents&id=6&Itemid=189
Wie man am Link sehen kann, wird die Ansicht ("View") categoryevents verwendet. Aus dieser Ansicht kann eine Feedausgabe (RSS 2.0)erzeugt werden:
Dieser Feed erzeugte ursprünglich die fehlerhaften Links.
Um dem Problem auf die Spur zu kommen, war zuerst einmal Recherche angesagt. Im Bugtracker des Projekts auf joomlacode.org wurde ich schließlich fündig:
joomlacode.org/gf/project/eventlist/tracker/?action=TrackerItemEdit&tracker_item_id=15844
Das bedeutet also, in den Views wird eine falsche Variable an den Link im Feed angehängt. Das muss korrigiert werden.
Allerdings fiel im ersten Drüberfliegen auf, dass das im Bugtracker beschriebene View eventlist in der aktuellen EventList Version 1.0.1 bereits behoben ist.
Also müssen evtl. andere Views geändert werden.
Achtung: Bevor Änderungen an Dateien gemacht werden, sollte in jedem Fall das Verzeichnis /components/com_eventlist/ gesichert werden!
Im Verzeichnis /components/com_eventlist/ sehen wir mit der schön, wie das MVC-Prinzip klassisch umgesetzt wird. Alle Views liegen demzufolge /components/com_eventlist/views . Da aber nicht alle Views eine Feedausgabe erzeugen, betrifft es nur folgende zu überprüfende Dateien:
/com_eventlist/views/categoryevents/view.feed.php
/com_eventlist/views/day/view.feed.php
/com_eventlist/views/eventlist/view.feed.php
/com_eventlist/views/venueevents/view.feed.php
/com_eventlist/views/venues/view.feed.php
Um es kurz zu machen, es betrifft lediglich noch zwei Dateien, die zu korrigieren sind:
[...]/categoryevents/view.feed.php und [...]/venueevents/view.feed.php
In beiden Dateien muss jeweils in Zeile 85 $row->id durch $row->eventid ersetzt werden, also:
$link = 'index.php?option=com_eventlist&view=details&id='. $row->id;
nach
$link = 'index.php?option=com_eventlist&view=details&id='. $row->eventid;
Damit haben wir beide Feedausgaben korrigiert. {moscomment}