Mini-Tutorial: die Sache mit der Feedausgabe bei EventList

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:

www.ec-sachsen.de/index.php?option=com_eventlist&view=categoryevents&format=feed&id=6&type=rss&Itemid=189

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}

Letzte Änderung amMontag, 23. September 2013

Schreibe einen Kommentar

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.