Hallo zusammen,
hier quasi ein verspätetes Weihnachtsgeschenk. ;-)
Wenn ihr mit Leser-Modulen in Contao arbeitet, habt ihr immer den Effekt, dass das zu betrachtende Element als Teil der URL mit übergeben wird. Dabei wird nicht nur der Alias (bzw. die ID übergeben) sondern auch noch so etwas wie "/items/" oder "/events/" davor.
Aus Sicht der Webseitenbesucher ist das überflüssig. Aus Sicht von Suchmaschinenoptimieren ist das unschön, da die URL verlängert und verwässert wird.
Eine Abhilfe schafft nun unsere neue Erweiterung urlcleaner, die wir heute als erste Beta veröffentlicht haben.
Anwendung
Nach der Installation muss pro zu bereinigender URL ein Eintrag in die localconfig.php ergänzt werden. WICHTIG: Am Ende der Einträge darf KEIN Slash stehen!
$GLOBALS['TL_CONFIG']['arrUrlFragments'] = array(
'news-reader' => 'items',
);
In diesem Beispiel werden URLs der Form /news-reader/items/alias auf /news-reader/alias umgeschrieben. Das geht natürlich auch mit mehreren URLs. Dazu einfach mehrere Einträge in das Array schreiben:
$GLOBALS['TL_CONFIG']['arrUrlFragments'] = array(
'news-reader' => 'items',
'event-reader' => 'events',
);
Ihr könnt auch mehr als nur "items" oder "events" aus der URL entfernen. Liegt beispielsweise der Leser für Blogeinträge unter /weblog/reader/ und statt /weblog/reader/items/alias sollen die Beiträge unter /weblog/alias zu erreichen sein, geht das so:
$GLOBALS['TL_CONFIG']['arrUrlFragments'] = array(
'weblog' => 'reader/items',
Weiterhin müsst ihr darauf aufpassen, dass ihr in den Elementen keinen Alias vergebt, der zur Bildung einer URL führen würde, die zugleich dem Alias einer Seite entspricht.
Im letzten Beispiel solltet ihr also keinen Alias "foobar" für einen Blogeintrag vergeben (aus /weblog/reader/items/foobar würde somit die URL /weblog/foobar) wenn es eine Seite mit dem Alias /weblog/foobar gibt.
Wir freuen uns über Feedback zur Extension und regen Einsatz!
Jan