Noch flexiblere URLs mit realurl: Alternative realurl path

Bei manchen Projekten gelangt man schnell an die Grenzen von realurl und der mitgeliefertem realurl advanced Klasse zum Erzeugen der Seitenpfade.

Zum Beispiel:

  • jede Seite in der Rootline benötigt einen Eintrag im Pfad. Darum haben Seiten weit unten im Seitenbaum immer einen langen Pfad. Das kann unter Umständen - auch in Anbetracht von Google - nicht erwünscht sein.
  • Eine komplett eigene Definition eines individuellen Pfad ist praktisch kaum möglich. (Mal von dem Überschreiben des gecachten Wertes mit Hilfe des Submoduls unter Info abgesehen)
  • Externe URLs werden nicht direkt verlinkt
  • Mehrsprachige URLs machen u.U. Probleme bei einigen Feldern.
  • Keine Unterstützung von Workspaces.
  • doppelte Seitennamen in der gleichen Ebene führen zu Kollisionen und Problemen

Alternativer Seitenpfad:

All diese Limitierungen sind mit der Extension "aoe_realurlpath" aufgehoben. Dank der flexiblen Konfigurationsmöglichkeiten von realurl kann man eine alternative Funktion für das Erzeugen des Seitenpfades angeben. Dazu muß die realurl configuration wie folgt angepasst werden:

  1. ...
  2. 'pagePath' => array (
  3.  'type' => 'user',
  4.  'userFunc' => 'EXT:aoe_realurlpath/class.tx_aoerealurlpath_pagepath.php:&tx_aoerealurlpath_pagepath->main',
  5.  'spaceCharacter' => '-',
  6.  'languageGetVar' => 'L',
  7.  'rootpage_id' => '1',
  8.  'segTitleFieldList'=>'alias,tx_aoerealurlpath_overridesegment,nav_title,title,subtitle',
  9. ),
  10. ...

Wer das ganze nicht von Hand eintragen möchte, installiert einfach die Extension "danp_realurlconfigurator", die in der neusten Version mit einer default configuration für aoe_realurlpath mitkommt.

 

Was macht die Erweiterung:

  • Seitenpfade können unabhängig von der Position im Seitenbaum gesetzt werden.
  • Verschiedene Felder und Optionen um möglichst SEO freundliche URLs automatisch zu generieren.
  • Support für Mehrsprachigkeit
  • Erzeugt direkte Links zu allen Shortcut-typen und externen URLs
  • automatische Kollisionserkennung

Die Seiteneigenschaften werden um folgende Felder erweitert:

  • Feld zum Überschreiben des kompletten Pfades
  • Feld zum Überschreiben des Pfadsegmentes
  • checkbox "entferne diese Seite aus der Mitte von Pfaden" (exclude page from middle).

Die Extension kommt mit einem Submodul für das Info-Modul, in dem man die gecachten URLs sehen und löschen kann:

 

Pfad und URL insides:

Ein Pfad in realurl besteht aus:

<preVars><pagePath><postVars><fileName>

Wobei preVars und postVars Parameter codieren können (wie newsids etc..) und nichts mit dem eigentlichem Seitenpfad zu tun haben. Der Seitenpfad aber ist der eigentliche sprechende Pfad für eine Seite in TYPO3. Die Abbildung Seitenpfad <->Pageid muß eindeutig für jede Sprache und jeden Baum sein. Die einzelnen Pfadabschnitte nennt man Pfadsegment.

Der Seitenpfad wird nun wie folgt generiert:

  1. Ist das Feld "override url path" gesetzt für eine Seite, wird direkt dieser Wert verwendet
  2. Sonst wird der Pfad automatisch generiert: Dazu wird die Rootline (Pfad von der Seite zum Root des Baumes) ermittelt. Jede Seite in diesem Pfad erzeugt ein Pfadsegment. Außer die Seite ist in der Mitte des Pfades und die Checkbox "exclude from middle" ist gesetzt.
  3. Für den Eintrag als Pfadsegment wird der erste nicht leere Wert eines Feldes im Seitenheader verwendet, typischerweise ist das diese Reihenfolge: 'alias, tx_aoerealurlpath_overridesegment, nav_title, title, subtitle'
  4. Bevor der Pfad zurückgegeben wird, wird geprüft ob es eine Kollision gibt, also ob der Pfad schoneinmal für eine andere Seite existiert. Wenn ja wird automatisch die UID der Seite angehangen um keine unzugreifbaren URLs zu erzeugen.

 

Installation / Configuration:

  1. Extension aus dem TER installieren
  2. Bei Bedarf die Checkboxen im Extensionmanager setzen (empfohlen).
  3. realurl configuration anpassen (entweder manuell - siehe Code oben)
    • Das geht am schnellsten mit der Erweiterung "danp_realurlconfiguration":
      • Extension downloaded und Installieren, beim installieren die Checkbox "include realurlconf" setzen
      • BE-Modul unter Tools aufrufen und den Punkt "Base Configuration" wählen: Dort die Datei realurlconf.php erzeugen lassen und den Defaultinhalte für "alternativen Seitenpfad" per Klick kopieren
      • Fertig.

blog comments powered by Disqus
  1. Hotel Bayerischer Wald http://www.hotel-neue-post.de 15.10.09 10:57

    Wir haben das gleiche Problem wie geroyche. Auch ist bei uns kein BE-Modul unter Werkzeuge zu finden

  2. geroyche 11.06.09 20:03

    Ich krieg das Ding nicht zum Laufen (typo 4.2.6 / v0.1.16).
    Sobald ich user_func der real_url config ändere, geht real_url einfach nicht mehr :/
    Irgendwie hab ich auch kein BE-Modul unter "Werkzeuge".

  3. Webagentur http://typo3-agentur.typo3-fanworld.de 23.04.09 22:19

    Ich finde die Extension wirklich klasse.

  4. maddesigns http://www.maddesigns.de 26.03.09 18:18

    Gute Informationen, aber ich suche immer noch Infos, wie man die URL mehrsprachig bekommt, also Newsartikel in englisch oder französisch.

  5. Daniel 21.01.09 18:07

    Hey

    You have to set "exclude from middle" also in the page overlay record if you want to have it there also.

  6. Oliver 19.01.09 17:36

    exclude from middle of paths


    Hallo,

    "exclude from middle of paths" funktioniert prima, bis auf Seiten in anderen Sprachen, da bleibt der auszublendende Knoten immer im Pfad.

    Beispiel

    /services/ mit gesetztem "exclude from middle of paths"

    /services/typo3/ wird dann wunderbar als /typo3/ verlinkt.

    Das Deutsche Gegenstück bekommt aber leider den Pfad
    /de/services/typo3/

    Hat jemand das auch beobachtet, eine Idee zur Lösung ?

    Gruß, Oliver

  7. DEUTSCHES STADTPORTAL http://www.hallomuenchen.de 26.11.08 17:30

    Danke für den hilfreichen Artikel! Wird uns allen weiterhelfen

    gruß heinz

  8. Hat sich wiedereinmal gelohnt in diesen Block zu schauen. Konnte gerade ein Problem, welches mich einige Zeit beschäftigt hat beheben. Vielen Dank!

  9. alf http://www.hallo-bayern.com 17.11.08 08:58

    endlich gute Informationen zu typo 3

    weiter so

  10. Sabine 27.10.08 15:10

    Ah, jetzt geht's wieder -- wunderbar!

    Sabine

  11. Sabine http://www.netz-schmiede.de 27.10.08 14:27

    Momentan lässt sich die Extension nicht aus dem TER herunterladen -- leider. Woran mag das liegen? Viele Grüße

    Sabine

  12. Daniel http://www.typo3-media.com 25.10.08 06:57

    Hallo
    Das Problem ist die SQL update auswertung von TYPO3, die diese SQL Syntax nicht kennt. Funktionieren tut die extension trotzdem.
    However:
    In der aktuellen Version (1.16) der Extension ist das Problem behoben.

  13. Lina http://typo3-blog.net/ 23.10.08 14:39

    Bei mir funktioniert die Extension nicht. Sie forder mich immer wieder auf, folgendes SQL auszuführen:
    ALTER TABLE tx_aoerealurlpath_cache ADD KEY (path);

    Wenn ich dies aber anhacke und abschicke ändert sihc nichts

  14. Thomas http://www.thomas-hirt.at 05.05.08 12:20

    Danke für deine Mühe und dieses wunderbare tool!
    Mir ist eine Sache dabei aufgefallen:

    Ich baue gerade die Seite: www.teatro.at auf und benutze deine Extension.

    Folgendes geht:
    http://www.teatro.at/cms/die-konferenz-der-tiere/handlung.html

    Folgfendes geht leider nicht:
    http://www.teatro.at/cms/die-konferenz-der-tiere/

    Mir ist aufgefallen, dass aoe_realurlpath Probleme mit dem Seitentyp "Verweis" hat.
    Die Seite "die-konferenz-der-tiere" verweist auf die erste Unterseite.
    Wenn ich den Seitentyp aber auf "standard" umstelle, klappt "http://www.teatro.at/cms/die-konferenz-der-tiere/" schon.

    Kann man dieses Problem umgehen oder mache ich etwas falsch?
    Über einen Hinweis von dir wäre ich sehr dankbar...

    Liebe Grüße aus Wien,
    Thomas

  15. Typo3 Seo http://www.seo24.at 30.04.08 13:44

    Hallo! Also wieder ein Dickes DANKE an dich für die tolle Info zu dieser Extension! Es gibt ja nichts besseres als so schöne Urls fürs Web -*Gg*- Danke!

  16. Danke für den hilfreichen Artikel!

    Gruß
    Rainer

  17. Boris 19.04.08 22:39

    Ich habe auf meiner Seite Shortcut zur RootPage.
    Mit RealUrl bekomme ich die richtege Links: www.domain.com,
    aber wenn ich aoe_realurlpath installiere, bekomme ich - www.domain.com/.html

    Ich bitte um Hilfe
    Danke und Gruß

  18. mik http://www.babuco.com 17.04.08 13:07

    Das hört sich ja sehr vielversprechend an.
    Was mir nicht ganz klar ist.
    Ist das eine Erweiterung zum "normalen" realurl oder läuft das ohne realurl=

  19. Riku http://n/a 13.04.08 00:36

    Hi,

    This extension seems to be just what I want but there's a problem installing it. I'm getting this error msg with typo3 4.1.6 and aoe_realurlpath 0.1.4 when ever I'll try to install it: SQL engine parse ERROR: Field type unknown in parseFieldDef()!: near "(path) "

    This doesn't tell me much but I was just wondering if it's a common issue and would be fixed in upcoming releases.

    Thanks

  20. Christian http://www.christian-pansch.de/blog/ 09.03.08 09:41

    hab auch die ein oder andere geschichte nicht mit realurl umsetzen können und auch cooluri überzeugte mich beim testen nicht. aber die vorgestellte extension scheint wirklich sehr nützlich zu sein! thx!

blogroll