SmoothGallery und Umlaute …
Da ich gerade an einer Typo3 Seite arbeite (nicht diese Seite hier
) und ich dazu eine Galerie benötige, habe ich einige Extensions durchprobiert. Meine Wahl ist schlussendlich auf die SmoothGallery gefallen, da sie folgendes bietet: Thumbnail-Erstellung, Slideshow-Funktion, Lightbox, …
Doch da die Dateinamen der Bilder Umlaute enthalten, tut sich der Apache-Server etwas schwer (böse Umlaute!
).
Um ihm auf die Sprünge zu helfen setzen wir im Ordner der Galerie, standardmäßig rgsmoothgallery im Unterordner pi1 in der Datei class.tx_rgsmoothgallery_pi1.php die folgende Funktion ein:
// Ergänzung: Umlaute!
function umlaute($path)
{
$umlaute = array(
"Ä" => "%c4",
"ä" => "%e4",
"Ö" => "%d6",
"ö" => "%f6",
"Ü" => "%dc",
"ü" => "%fc",
"ß" => "%df"
);
foreach ($umlaute as $umlaut => $ok)
{
$path = str_replace($umlaut, $ok, $path);
}
return $path;
}
Diese Funktion muss nun vier mal aufgerufen werden:
1. für die Lightbox: $lightbox = umlaute($lightbox);
$lightbox = ($lightbox=='#' || $lightbox=='' || $this->config['lightbox']!=1) ? 'javascript:void(0)' : $this->cObj->IMG_RESOURCE($imgTSConfigLightbox);
$lightbox = str_replace(' ', '%20', $lightbox); // search for empty chars, thx maxhb
$lightbox = umlaute($lightbox);
$lightBoxImage='';
2. für die Thumbnails: $thumbImage = ‘<img src=”‘.umlaute($this-/>cObj->IMG_RESOURCE($imgTSConfigThumb)).’”
if ($thumb) {
$imgTSConfigThumb = $this->conf['thumb.'];
$imgTSConfigThumb['file'] = $path;
$thumbImage = '
';
}
3. und 4. für das große Bild, einmal wenn’s nur ein einziges Bild gibt und ein zweites Mal falls es doch mehr Bilder gibt
: $bigImage = umlaute($bigImage);
// if just 1 image should be returned
if ($limitImages==1) {
$bigImage = umlaute($bigImage);
return '
';
}
$bigImage = umlaute($bigImage);
// build the image element
$singleImage .= '
'.$text.
$lightBoxImage.'
'.$thumbImage.'
';








