contao/test — Issue #582: Galerie: Großansicht vs. Link
Author: fbender
Created: 2011-11-29 06:28:56+00:00
State: open
Labels: Feature, frontend

Bisher ist es ja so, dass man, wenn Großansicht bei einer Galerie aktiviert ist, bei einem Klick auf das kleine Bild die Slimbox angezeigt bekommt. Wenn Großansicht deaktiviert ist, wird einem Link gefolgt, der möglicherweise in der meta.txt angegeben wurde.

Ich wurde schon mehrfach gebeten eine Galerie mit Großansicht zu erstellen, die bei bestimmten Bildern jedoch nicht die Großansicht zeigt, sondern einem Link (aus der meta.txt) folgt.

Die Großansicht wird, so wie ich das gesehen habe, durch ein separates Template (ce_gallery_fullsize) erzeugt, das sich nur in der einen Zeile in der Schleife des Templates "ce_gallery" unterscheidet, genauer:

ce_gallery_fullsize.tpl:

```

```

ce_gallery.tpl:

```

/** … **/
```

IMO wäre es sinnvoller und leichter erweiterbar, wenn die Dateien zusammengefügt werden und auf $this->fullsize im Template geprüft wird. Die ContentGallery.php muss dann in etwa so angepasst werden (Zeile 177-182):

```
// Fullsize template
// entfällt, siehe Templates und:
// ContentGallery.php, Zeile 206 --> hä? (s.u.)

$this->Template = new FrontendTemplate($this->strTemplate);
```

ce_gallery.tpl (für beide Zustände jetzt zuständig) kann dann so aussehen (genauer: der vorher genannte Teil der Zeile 14):

```
fullsize): ?>
lightboxId; ?>]"
title="">

/** … **/ fullsize): ?>
```

Zudem können so (per zusätzlichem Dropdown und minimaler Änderung der ContentGallery.php) verschiedene Galerie-Templates ausgewählt werden, was nochmal mehr Flexibilität ermöglicht.

Alternativ könnte man noch auf eine weitere Checkbox überprüfen ("Links verfolgen trotz Großbildansicht"). Diese Methode würde ich noch favorisieren (ermöglicht mehr Spielraum).
ce_gallery.tpl:

```
fullsize && !$this->noFullsizeLinks): ?>

noFullsizeLinks && $col['link']) ): ?>

/** … **/
fullsize): ?>

```

Wäre es möglich, das umzusetzen?

Zu ContentGallery.php, Zeile 206:

```
$this->Template->fullsize = (TL_MODE == 'FE') ? true : false;
```

Was bezweckt diese Zeile? Bisher wurde doch $this->fullsize verwendet? Ich habe bisher keine Codezeile gefunden, die $this->Template->fullsize anspricht …

--- _Originally created on March 14th, 2009, at 10:01pm (ID 582)_