Seite 1 von 1

xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Verfasst: Mi 15. Sep 2010, 15:02
von Mariposa
Hallo,
in einer 4.8.11 Installation mit AMR setzte ich xtcSlimboxPic 0.0.6 ein. Soweit funktioniert auch alles prima.

Das Problem ist, dass das Galeriemodul die mehrsprachige Bildbeschreibung nicht anspricht, also immer nur die 1. Sprache (deutsch) verwendet. In der DB sind die Datensätze zu jedem Bild mit unterschiedlicher Sprach-ID vorhanden.

Trotz intensiver Suche im Modul und hier im Forum habe ich keine Lösung gefunden.

Kann mir bitte jemand helfen, das klasse Galeriemodul dazu zu bringen, die Bildbeschreibung in der jeweiligen Sprache auszugeben?

Schon mal danke vorweg.

Re: xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Verfasst: Mi 15. Sep 2010, 17:25
von xmurrix
Hallo Mariaposa,

das Modul ist so aufgebaut, dass es die Beschreibung zum Bild aus der Upload-Tabelle holt und Daten in dieser Tabelle sind nicht sprachabhängig.

Vermutlich müsste es funktionieren, wenn du die Funktion "xtcSlimPicDescription" in der Datei "includes/function.xtcSlimPic.php" folgendermaßen anpasst:

Code: Alles auswählen

function xtcSlimPicDescription($idupl){

    global $cfg, $cfgClient, $db, $client, $lang;
    
    $cApiClient = new cApiClient($client);
    $language_separator = $cApiClient->getProperty('language','separator');
    if ($language_separator == "") {
        //Sanity, if module used in client without set client setting
        $language_separator = "§§§";
        $cApiClient->setProperty('language','separator', $language_separator);
    }
    if(is_numeric($idupl)) {
        //ID is a number 
        $query = "SELECT description FROM ".$cfg["tab"]["upl_meta"]." WHERE idupl = ".$idupl . " AND idlang = " . (int) $lang;
    } else {
        //ID is a string
        $path_parts = pathinfo($idupl);
        $upload = $cfgClient[$client]['upl']['frontendpath'];
        $len = strlen($upload);
        $pos = strpos($idupl,$upload);
        $dirname = substr($path_parts['dirname'],$pos+$len).'/';
        $query = "SELECT um.description FROM ".$cfg["tab"]["upl"]." AS u, ".$cfg["tab"]["upl_meta"]." AS um WHERE (u.dirname = '".$dirname."') AND (u.filename='".$path_parts['basename']."') AND (u.filetype='".$path_parts['extension']."') AND u.idupl = um.idupl AND idlang = " . (int) $lang;
    }
    $db->query($query);
    if($db->next_record()) {
        return htmlspecialchars(urldecode($db->f("description")));
    } else {
        return '';
    }
}
Habe das aber nicht getestet, es kann also sein, dass es nicht wie gewünscht funktioniert.

Gruß
xmurrix

Re: xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Verfasst: Mi 15. Sep 2010, 17:43
von Mariposa
Eingebaut und getestet: Funktioniert einwandfrei.

Danke für die superschnelle Hilfe.

Gruß Mariposa