Lightbox-Bildergalerie

reeen83
Beiträge: 8
Registriert: Do 28. Jul 2011, 09:25
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von reeen83 » Di 20. Sep 2011, 12:19

an dem liegt es leider nicht.

eigenartig ist auch folgendes:

Code: Alles auswählen

$description = htmlentities(capiStrTrimAfterWord($link_description, $words)."...");
bei dieser wertzuweisung zur variablen $description kommt danach nur "..."
der wert aus $linksdescribtion ist aber korrekt. gebe ich den direkt aus, wird alles schön angezeigt.

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von idea-tec » Di 20. Sep 2011, 12:28

reeen83 hat geschrieben:der wert aus $linksdescribtion ist aber korrekt. gebe ich den direkt aus, wird alles schön angezeigt.
Dann würde ich mal nach $words suchen oder alternativ direkt über der Zeile folgendes einfügen, so dass es so aussieht:

Code: Alles auswählen

$words = 200;
$description = htmlentities(capiStrTrimAfterWord($link_description, $words)."...");
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

reeen83
Beiträge: 8
Registriert: Do 28. Jul 2011, 09:25
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von reeen83 » Di 20. Sep 2011, 12:40

$word wird über die konfiguration definiert, wieviele zeichen die beschreibung bei der übersicht haben darf. hatte bisher 20 drin.

dein feedback mit den 200 hab ich getestet. wenn ich in der konfiguration 200 zeichen eingebe, dann kommt die description. bei 20 zeichen jedoch nicht. sollte bei einer 10zeichen beschreibung aber aufs gleiche rauslaufen.

media-name kommt deswegen trotzdem gar nix raus. hat ja auch nix damit zu tun.

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von idea-tec » Di 20. Sep 2011, 13:00

reeen83 hat geschrieben:media-name kommt deswegen trotzdem gar nix raus. hat ja auch nix damit zu tun.
Wie? hat nix damit zu tun?
Du hast doch mokiert, dass keine Description kam => Lösung gefunden! Was denn noch?

Das andere ist ein anderes Problem, das du ganz einfach löst indem du die oben angezeigten Hinweise beherzigst.
Wenn man sich dann mal passend dazu die if/else-Abfragen ansieht findet man vermutlich den passenden Punkt.
Mal in jede if/else-Klammer ein eindeutig zu identifizierendes Echo reinhauen und mal nachschauen wo man landet. Dann kann man nachsehen wieso man dort landet und entsprechend Anpassen. Ist doch gar nicht so schwer
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

reeen83
Beiträge: 8
Registriert: Do 28. Jul 2011, 09:25
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von reeen83 » Di 20. Sep 2011, 13:11

die description hab ich schon beginn an erhalten und zwar war die stets in der $linkdescription.
der media-name will nicht aus der DB raus.

mir ist durchaus klar wo ich in den jeweiligen if und else dingern lande.

Code: Alles auswählen

if ($words != "" || $words != 0) {
            # Cutting text but preserving words and entities
            if(strlen($link_description) > $words){
               $description = htmlentities(capiStrTrimAfterWord($link_description, $words)."...");
            } else {
               $description = $link_description;
            }
        }
ab dem punkt, wenn die beschreibung gleich oder grösser der konfigurierten anzahl zeichen ist (also zweites if wird ausgeführt), erscheint nur noch "..."
else soll er mir die ganze beschreibung darstellen, da ich ja innerhalb der erlaubten zeichenanzahl bin.


hatte diesen fehler nur erwähnt, weil er evtl mit dem mediennamen zusammenhängen kann. jedoch wird der medienname in keinem fall ausgegeben. auch nicht wenn ich direkt nach:

Code: Alles auswählen

$media_name = ig_getMedienName($sImageToDisplay);
den medienname mit echo ausgeben möchte. sprich, der kommt gar nicht aus der DB.

mein prioritäres problem ist effektiv der medienname. das if-else gewurstel brauch ich nicht, da ich immer die ganze description anzeigen möchte.
hoffe ich konnte wieder ein wenig klarheit in mein problem bringen :)

reeen83
Beiträge: 8
Registriert: Do 28. Jul 2011, 09:25
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von reeen83 » Di 20. Sep 2011, 13:37

habe nun doch nen beitrag gefunden:
http://forum.contenido.org/viewtopic.php?t=23202

werd ich heute abend gleich mal testen und bescheide geben.

reeen83
Beiträge: 8
Registriert: Do 28. Jul 2011, 09:25
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von reeen83 » Di 20. Sep 2011, 20:25

nachdem einige vielversprechende ansätze, welche ich im forum gefunden habe, trotzdem nicht funktionierten, hat schlussendlich folgende variante geklappt:

Code: Alles auswählen

function ig_getImageDescription($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"] . " WHERE idupl = " . $idupl;
    } 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 u.description, m.medianame
        FROM " . $cfg["tab"]["upl"] . " u INNER JOIN " . $cfg["tab"]["upl_meta"] . " m
        ON u.idupl = m.idupl
        WHERE (u.dirname = '" . $dirname . "') AND (u.filename='" . $path_parts['basename'] . "') AND (u.filetype='" . $path_parts['extension'] . "')";

    }
    $db->query($query);
    if ($db->next_record()) {
      //  return htmlspecialchars(urldecode($db->f("description")));
      // return array("desc"  => htmlspecialchars(urldecode($db->f("description"))),
        //             "media" => htmlspecialchars(urldecode($db->f("medianame")))
         //           );
        return array("desc"  => urldecode($db->f("description")),
                    "media" => htmlspecialchars(urldecode($db->f("medianame")))
                     );
                    
    } else {
        return '';
    }
}

liest die description und den medianame aus und gibt ein array aus, welches ich über $description['desc'] und ['media'] auslesen kann.

Spooks
Beiträge: 2
Registriert: Mi 21. Dez 2011, 21:42
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von Spooks » So 5. Feb 2012, 13:26

Hi Leute,

ich bin absoluter Newbie und gerade etwas überfordert. Grundsätzlich habe ich das Modul zum laufen gebracht. Nur habe ich das Problem, dass bei einem Klick auf das Bild nicht dieses "schöne" separate Fenster mit transparenten Hintergrund aufgeht. Kann mir da bitte jemand helfen?

Wohin muss ich die Bilder von Lightbox laden? In das Upload Verzeichnis?

Alle anderen Dateien habe ich nicht verändert und sind quasi noch im "Auslieferungszustand"

http://hsg-erlangen.de/vogelschiessen/v ... ssen-2011/

Grüße
Martin

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Lightbox-Bildergalerie

Beitrag von Spider IT » So 5. Feb 2012, 15:16

Hi Martin,

im Layout musst du die folgenden Anweisungen im HEAD-Bereich (zwischen <head> und </head>) mit einfügen:

Code: Alles auswählen

<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<script language="javascript" type="text/javascript" src="js/prototype.js"></script>
<script language="javascript" type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script language="javascript" type="text/javascript" src="js/lightbox.js"></script>
Die Bilder kommen pro Galerie in ein eigenes Verzeichnis in /upload, müssen aber über die Dateiverwaltung hochgeladen oder zumindest nach dem Upload per FTP in der Dateiverwaltung einmal angezeigt werden.
Dies ist, damit die Bilder in der Datenbank gelistet sind und von der Galerie genutzt werden können.
In der Konfiguration des Artikels musst du dann für die Galerie das Verzeichnis auswählen.

Gruß
René

Gesperrt