ProCalendar mit AJAX

Beim Procalendar gibt es ein nerviges kleines Problem, das sich durch andere Problemchen ersetzen lässt.

Der Procalendar ist ein nützliches Modul, das aber eine  kleine Unschönheit in sich trägt: Massen von Parametern. Diese wiederum sind für zwei Unschönheiten verantwortlich:

  1. Ein Suchmaschinen-Bot kann sich sehr leicht darin verfangen, was zu sehr sehr vielen „neuen“ Seiten führt. Denn es gibt tausende Tage in der Zukunft, die jedesmal den Seiteninhalt ein wenig verändern - obwohl die restliche Seite unverändert bleibt.
    Natürlich: Google lässt sich so leicht nicht übers Ohr hauen, aber: Es kann zu Misstrauen und Ärger führen.
  2. Beim Blättern durch den Kalender wird jedesmal die Seite neu aufgerufen und steht damit wieder auf 0, also ganz oben. Das kann sehr nerven, wenn man erst nach unten scrollen muss, um zum Kalender zu kommen.

Abhilfe durch AJAX

Wenn der Kalender durch AJAX nachgeladen wird, verschwinden all diese Probleme. Es wird nur der Kalender selbst aktualisiert, die übrige Seite ist nicht betroffen und wird auch nicht neu geladen. Damit kann sich auch kein Bot darin verfangen.

Neue Probleme

Allerdings gibt es dann ein anderes Problem: WBCE ist so gestrickt, dass JEDE Seite durch die index.php im Root gewurschtet wird - und dort lauern die Output-Filter.
Ergo: Sobald ich das umgehe, funktionieren die OutputFilter nicht mehr für den ProCalendar.

Ein weiteres Problemchen: Schön, dass ich keine zappelknden URLs mehr habe, aber: Ich kann auch keinen direkten Link mehr angeben, zB zu einem bestimmten Tag.
Besser gesagt: Die Links funktionieren zwar, aber woher soll ich sie kennen? Sehe ich ja nicht.

Und: Der Zurück-Button im Browser führt weiter zurück als man annehmen würde.
Das ließe sich nachrüsten, aber: Wenn die Output-Filter nicht funktionieren, ist das das kleinere Übel.

Vielleicht findet ja wer eine Lösung, wenn das überhaupt jemanden interessiert.

Hier die 2 geänderten Dateien, diese werden einfach drüberkopiert:
procalendar-1.3.16-AJAX-ChangedFiles.zip

Vorher eine Kopie der vorhandenen Dateien machen. Die meisten Änderungen sind in der view.php, in functions.php ist nur 1 Zeile betroffen.
 

Zurück