Apr
7
RealUrl ist für das CMS Typo3 eine sehr angenehme Extension um schnell und umkompliziert sprechende Adressen, sogenannte SpokenURLs, zu erzeugen.
Schnell tritt jedoch das Problem auf, dass auf dem Typo3-Internetauftritt im Quellcode leere A-Links, also href="" erzeugt werden, obwohl eine gültige Typo3-Seite als z.B. ID angegeben wurde.
Das Problem an den leeren href="" ist, dass diese nach dem W3C-Standard in XHTML nicht gültig (valid) sind.
Auch Suchmaschinen würden hier stutzig werden und die Seite Aufgrund der leeren Links abwerten.
Ein typisches Beispiel ist eine Verlinkung des Webseitenlogos im Kopfbereich. Das Logo soll immer auf die Startseite des Internetauftritts verlinken und bestenfalls auch noch die Startseite der gewählten Sprache anzeigen.
Sicherlich ließe sich die Problematik schnell lösen, wenn man die BaseUrl aus der config (config.baseUrl) auf das Logo vererbt, doch ist somit die Mehrsprachigkeit nicht gewährleistet, denn eine englische Seite hat zum Beispiel folgende Linkstruktur: "http://www.domain.de/en/" und nicht "http://www.domain.de/.
Um nun große TypoScript-Anpassungen zu vermeiden bringt RealURL von Haus aus schon eine Option mit, mit der man "leere"-Links im Quelltext vermeiden kann.
In der RealUrl-Konfiguration muss im Array 'init' nur ein Wert hinzugefügt werden und schon werden keine leeren Links mehr erzeugt.
Das 'emptyUrlReturnValue' => TRUE, im 'init'-Array löst alle Probleme bei der Linkgenerierung.
In der RealUrl-Konfiguration würde diese Zeile folgendermaßen aussehen:
'_DEFAULT' => array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
'postVarSet_failureMode' => '',
'emptyUrlReturnValue' => TRUE,
),
.....
.....
Die RealURL Dokumentation verrät uns folgenden Inhalt:
If you set this value true (PHP boolean, “TRUE”), then it will return the baseURL set in TSFE.
Natürlich muss im TypoScript von Typo3 die "config.baseURL = http://www.domain.de/" gesetzt worden sein, ansonsten findet auch die Extension keine Adresse.