[TYPO3-german] Lösung für dr_wiki, RealURL und Leerzeichen in Keywords/URLs
Christian Hennecke
christian.hennecke at os2voice.org
Mon Aug 30 12:29:54 CEST 2010
Hallo zusammen,
bei der Verwendung von dr_wiki mit RealURL kann es je nach Version zu
mehr oder weniger schwerwiegenden Problemen kommen:
- Leerzeichen im Keyword tauchen als Leerzeichen in der URL auf, was
generell ungünstig ist.
- Bei manchen RealURL-Versionen werden die Leerzeichen in URLs beim
Dekodieren in Pluszeichen umgewandelt, so daß vorhandene Wiki-Seiten
nicht mehr gefunden werden. Z.B. wird aus "Verzeichnis der Artikel" das
Keyword "Verzeichnis+der+Artikel".
Bisher habe ich dafür im Netz keine Lösung gefunden, nun aber selbst
eine erstellt. Man kann dem mit einer angepaßten RealURL-Konfiguration
entgegenwirken.
Im Bereich postVarSets verwendet man etwa folgendes:
'postVarSets' => array(
'_DEFAULT' => array(
// dr_wiki
'wiki' => array(
array(
'GETvar' => 'tx_drwiki_pi1[keyword]',
'userFunc' =>
'fileadmin/class.tx_realurlHelper.php:&tx_drwiki_realurlHelper->main',
),
array(
'GETvar' => 'tx_drwiki_pi1[showUid]',
),
array(
'GETvar' => 'tx_drwiki_pi1[cmd]',
),
),
),
),
Außerdem erstellt man die Datei fileadmin/class.tx_realurlHelper.php mit
folgendem Inhalt:
<?php
class tx_drwiki_realurlHelper {
// character to use instead of spaces
var $spaceReplacement = '_';
function main($params, $ref) {
if ($params['decodeAlias']) {
return $this->alias2id($params['value']);
} else {
return $this->id2alias($params['value']);
}
}
function id2alias($value) {
return str_replace(' ', $this->spaceReplacement, $value);
}
function alias2id($value) {
return str_replace($this->spaceReplacement , ' ', $value);
}
}
?>
Nun werden die Leerzeichen durch das in $spaceReplacement angegebene
Zeichen ersetzt. Natürlich muß man darauf achten, daß dieses nicht in
Keywords vorkommt.
More information about the TYPO3-german
mailing list