Joomla

So macht man die Joomla Archivfunktion zum Blogkalender

kalenderDie Archivfunktion wird von den wenigsten Joomlanern genutzt. Ich finde sie auch sehr unpraktisch, da durch das Archivieren die Links der Beiträge verändert werden. Das lässt zum Einen viele Backlinks ins Leere laufen und führt zum Anderen zu Abstufung der Suchmaschinenplatzierungen. In diesem Tutorial wird die Archivfunktion so umgebaut, dass genau die eben genannten Probleme nicht mehr auftreten. So kann man die Joomla eigene Archivierungsansicht als komfortablen Blogkalender benutzen.


Was wird gemacht und wie bin ich darauf gekommen?

Ich war wieder mal auf der Suche nach einem guten und komfortablen Blogkalender für Joomla. Es gibt bisher zwei Ansätze, die mir aber beide nicht zusagen. Beim Stöbern fiel mir die Joomla eigene Archivfunktion auf. Diese hat ein Modul, was die Einträge direkt nach Monaten sortiert auflistet und einen schlanken aber effektiven Filter. Kurz um: Sie ist wie gemacht für einen Blogkalender.
Aber es gibt ein Problem. Es werden nur archivierte Beiträge erfasst. Das ist ja nicht weiter schlimm, aber zudem wird der Link zum Artikel verändert. Das ist ein absolutes NoGo für einen Blog. Damit macht man alle SEOs und Backlinks wertlos. Also: das muss geändert werden! Meiner Meinung nach, könnte das Linkproblem auch ein Grund sein, warum die Archivierungsfunktion von fast niemandem genutzt wird.

Alles in Allem müssen nur 2 Dinge geändert werden:
  1. Es müssen alle freigegebenen Beiträge in Modul und Komponente erfasst werden
  2. Der Originallink muss bestehen bleiben

So gehts:

Zuerst benötigen wir eine Kopie der Datei archive.php im Verzeichnis /components/com_content/models/ .

Es handelt sich hier bei allen Änderungen um Veränderungen der Coredateien. Sobald ein Update durchgeführt wird, sind die Änderungen wieder rückgängig gemacht. Hebt euch die veränderten Dateien also bitte mit einer kurzen Dokumentation, sonst wisst ihr irgendwann nicht mehr, für was die Dateien da sind, auf. Nach einem Update können diese einfach wieder in die entsprechenden Verzeichnisse geladen werden.

In dieser Datei muss in Zeile 172 aus der -1 eine 1 gemacht werden. Damit werden nicht die archivierten Beiträge, sondern die freigegebenen Beiträge erfasst.
Lade die Datei wieder hoch und das wars auch schon in dieser Datei.

Widmen wir uns nun den URLs.
Dafür können wir ein Override schreiben. Dadurch werden die Änderungen bei einem Update nicht rückgängig gemacht.
Wir benötigen nun die Datei default_items.php aus dem Verzeichnis /components/com_content/views/archive/tmpl/ .

Dort wird in Zeile 7 der Code
<a href="/slug)); ?>">
durch den Code
<a href="/readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));; ?>">
ersetzt.
Durch diesen Schritt erzeugen wir für jeden Artikel die eigene URL, wie sie auch in der normalen Ansicht verwendet wird.
Die Datei darf jetzt nicht mehr in den gleichen Ordner zurück, sie muss nun in den Ordner templates/'aktuelles Template'/html/com_content/archive/ .

Falls das Archiv-Modul nicht verwendet wird, ist damit der Umbau abgeschlossen. Ansonsten geht es direkt weiter.

Der Umbau des Moduls ist auch kein Problem. Es wird die Datei helper.php aus dem Verzeichnis /modules/mod_archive/ benötigt.
In dieser Datei muss in Zeile 28 der Code
' WHERE ( state = -1 AND checked_out = 0 AND sectionid != 0)' .
durch
' WHERE ( state = 1)' .
ersetzt werden.
Damit werden, wie in der Komponente, nun nicht mehr die archivierten Beiträge, sondern die veröffentlichten Beiträge erfasst.

Das war auch schon alles. Ab jetzt werden alle Beiträge nach Monaten sortiert im Modul zusammengefasst und in der Archivansicht mit den korrekten URLs angezeigt.
Im Footer dieser Seite ist das Modul in Aktion zu sehen. Klicke auf einen Monat, um alle Beiträge aus diesem Monat angezeigt zu bekommen.
Wenn dieser Artikel hilfreich war, freue ich mich über Backlinks, Empfehlungen, Social Bookmarks und natürlich Kommentare.
Ich hoffe, Joomla um eine Funktion bereichert zu haben und dem Archiv damit zu größerem Nutzen zu verhelfen.


RSSfeed Dieser Artikel hat dir gefallen? Abonniere neue Beiträge im Webszenario RSS-Feed.
Danke fürs Lesen dieses Beitrags. Ich würde mich besonders freuen, wenn du zu meinen Followern auf Twitter stoßen würdest oder mir ein Kommentar hinterlässt.
Favorites Twitter Facebook Myspace Stumbleupon Digg delicious MR. Wong Technorati google reddit Yahoo



Kommentar schreiben


Sicherheitscode
Aktualisieren