lz_gallery und Bilder als PopUp

Beim Galerie-PlugIn lz_gallery gibt es standardmäßig einige Anzeigeformen wie z.B. "samewindow_noeffect", "samewindow", "newwindow"...

Letztere Option interessiert an dieser Stelle - sie sorgt dafür, dass die Galerie-Bilder als PopUp geöffnet werden. Allerdings mit einem Haken: die Option "newwindow" ist gekoppelt an die maxwidth. Das PopUp wird also nie größer als die maximale Breite der Galerie, auch wenn das Bild noch so gross ist (dann wirds eben klein skaliert).

Um ein PopUp mit Bild in Originalgröße zu erhalten, müssen wir die Datei "class.tx_lzgallery_pi1.php" modifizieren (vorher besser sichern):


Wir suchen den Abschnitt in dem folgende if-Abfrage steht:

 

if ($this->options['clickmode'] == 'newwindow'){
// allow popups by default
$this->imgconf['imageLinkWrap'] = '1';
$this->imgconf['imageLinkWrap.'] = array(
'JSwindow' => '1',
'enable' => '1',);
// set the dimensions .....................usw. usw.

 

 

Hinter diesem Block fügen wir folgenden Code (unter das Ende der If-Abfrage):

 

// Kommentar: opening pictures in new window max
if ($this->options['clickmode'] == 'newwindow_max'){

// allow popups by default
$this->imgconf['imageLinkWrap'] = '1';
$this->imgconf['imageLinkWrap.'] = array(

'JSwindow' => '1',
'enable' => '1',
);

if(@is_numeric($this->conf['optimizeFactor']) && $this->conf['optimizeFactor'] > 0) {

$factor = $this->conf['optimizeFactor'];
}

else {

$factor = 1;
}

$max = $this->conf['optimizeForce'] ? '' : 'm';
switch($this->conf['optimize']) {

case 'portrait':
$this->imgconf['file.']['width'] = ((int) $this->options['width'] * $factor) . $max;
$this->imgconf['file.']['height'] = $this->options['width'] . $max;
break;
case 'landscape':
$this->imgconf['file.']['height'] = ((int) $this->options['width'] * $factor) . $max;
default:
$this->imgconf['file.']['width'] = $this->options['width'] . $max;
break;
}

// set the correct temppath for the popup pictures as well
if ($this->imgconf['file.']['alternativeTempPath']) $this->imgconf['imageLinkWrap']['alternativeTempPath'] = $this->imgconf['file.']['alternativeTempPath'];
// allow the user to set and/or override the imageLinkWrap settings...
if (@is_array($this->conf['imageLinkWrap.'])) {

if($this->conf['overrideImageLinkWrap']) {

$this->imgconf['imageLinkWrap.'] = array_merge($this->imgconf['imageLinkWrap.'], $this->conf['imageLinkWrap.']);
}

else {

$this->imgconf['imageLinkWrap.'] = array_merge($this->conf['imageLinkWrap.'], $this->imgconf['imageLinkWrap.']);
}

}

}

 

 

Die Datei speichern und im Setup - entsprechend unserer Erweiterung - den Wert:

 

plugin.tx_lzgallery_pi1.piVarPresets.clickmode = newwindow_max

 

festlegen.

 

Jetzt werden die Bilder im originalen Zustand in einem Popup geöffnet.

 

Quelle: das Forum von www.typo3.net