Inzwischen habe ich die Dateien von Photalbums2 mal durchforstet und geschaut, an welcher Stelle der "Title-Tag" für die Ausgabe im Template aufbereitet wird.
Herausgekommen ist folgende Notlösung:
1. in "\system\modules\photoalbums2\classes\Pa2ViewParse r.php" ab Zeile 514 eine modifizierte Kopie der Funktion "getImageTitle" mit der Bildunterschrift als Rückgabewert eingefügt
Code:
/**
* getImageCaption function.
*
* @access protected
* @param object $objImage
* @return void
*/
protected function getImageCaption($objImage)
{
if (!is_object($objImage)) {
return false;
}
// Set the default
$strAlt = '';
// If there is a meta caption in the current language, then use this meta data
if ($objImage->meta[$GLOBALS['TL_LANGUAGE']] != '') {
$strAlt = $objImage->meta[$GLOBALS['TL_LANGUAGE']]['caption'];
} // Else if there is a meta caption in english, use this meta data
else {
if ($objImage->meta['en'] != '') {
$strAlt = $objImage->meta['en']['caption'];
}
}
return $strAlt;
}
2. in "\system\modules\photoalbums2\classes\Pa2ImageView Parser.php" ab Zeile 535 eine neue Template-Varible "$this->caption" eingefügt
Code:
$objSubtemplate->caption = $this->getImageCaption($objImage);
3. im Template "\templates\pa2_image.html5" ab Zeile 11 diese neue Variable ausgegeben
Code:
<?php if ($this->caption): ?>
<figcaption class="caption"><?php echo $this->caption; ?></figcaption>
<?php endif; ?>
Diese Notlösung ist leider nicht updatesicher und etwas umständlich.
Gibt es in Contao eine einfachere Methode aus einem Template heraus unter Angabe des Dateipfades an die Meta-Felder eines Bildes in der Tabelle tl_files heranzukommen?
Ich könnte mir vorstellen, das Insert-Tags in der Form "{{image_title::*}},{{image_imageUrl::*}},{{image_ caption::*}}" ganz praktisch wären. Leider weiß ich nicht wie und wo man solche Insert-Tags in Contao definiert.
Lesezeichen