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. ...
  11. </span

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.

Anzeige: 1 - 10 von 10.
 

Thomas

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

 

Typo3 Seo

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!

 

Rainer

22. 04. 08 16:55

Danke für den hilfreichen Artikel!

Gruß
Rainer

 

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ß

 

mik

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=

 

Riku

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

 

Christian

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!

 

Stefan

07. 03. 08 09:31

Super - zum Glück habe ich garade diesen Artikel entdeckt...
Ich war kurz davor CoolURI auszuprobiere, aber irgendwie fühle ich mich mit realURL wohler... ;-)

Danke für den Blog,

Stefan.

 

Daniel

17. 01. 08 18:48

Servus. Das ist die Extension pagetca: Mit der Version 4.2 von TYPO3 ist das dann zum Glück im Core so.

Grüße

 

Tobi

17. 01. 08 18:12

hallo, das ja prima. Ich hätte da aber mal eine Frage, welche Extension benutzt du, um in den Seiteneigenschaften die Reiter "General, Meta, etc." darzustellen? Hab ich gerade auf deinem Screenshot entdeckt und würde das auch gerne bei meinen Installationen verwenden.

Danke und Gruß
Tobi

 
 

Ins Gästebuch eintragen
CAPTCHA Bild zum Spamschutz