Hallo zusammen,
ist es möglich, das Nachrichtenliste Modul um die Funktion einer Bild Galerie zu erweitern?
Hat jemand einen Tipp wo ich ansetzten kann
Hallo zusammen,
ist es möglich, das Nachrichtenliste Modul um die Funktion einer Bild Galerie zu erweitern?
Hat jemand einen Tipp wo ich ansetzten kann
Nachrichtenliste ausschließlich als Bildergalerie? Da würde ich den Teaser leerlassen und ein Inhaltselement Galerie einfügen. Dazu benutzt Du für die Nachrichtenliste das news_full-Template und schon hast Du eine Galerieübersicht mit dem News-Modul erstellt.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Das habe ich probiert. Teaser leer, Galerie Element angelegt.
Werden aber leider keine Bilder ausgegeben.
Lege ich allerdings ein Text Element an, dann wird dieses dargestellt
Auch eine Ausgabe der Template Variablen gibt keinen Anhaltspunkt, das Bilder durchgereicht werden
Geändert von magic77 (17.03.2018 um 14:51 Uhr)
Ok, bin jetzt auf einem Weg zu einer Lösung mit DCA
Hab ein eigenes Modul angelegt um den Teaser zu erweitern.
PHP-Code:
$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace
(
'{image_legend},addImage',
'{image_legend},addImage,gallery',
$GLOBALS['TL_DCA']['tl_news']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_news']['fields']['gallery'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_news']['gallery'],
'inputType' => 'fileTree',
'eval' => array('mandatory' => false, 'multiple' => true, 'files' => true, 'fieldType' => 'checkbox', 'filesOnly' => true, 'extensions' => 'jpg,jpeg,png,gif,svg', 'isGallery' => true), 'exclude' => true,
'sql' => "blob NULL"
);
Geändert von magic77 (17.03.2018 um 17:47 Uhr)
Kann mir mal einer auf die Sprünge helfen, wie ich das DCA so erweitern kann, damit man auch eine individuelle Reihenfolge der Bilder bestimmen kann
Schau dir das vom Standard ab.
https://github.com/contao/core/blob/...tl_content.php Zeile 528-544
Grüße
Alex
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Erkläre mal genauer was du haben möchtest.
@spooky:
Ich möchte das Nachrichten Modul (Nachrichtenliste) um die Funktion einer Bild Galerie erweitern, um dann einen Swiper Slider einzubauen
siehe hier: http://www.holmvintage.com/objects.html
Derzeitig funktioniert das anlegen einer individuellen Galerie im Backend:
Allerdings kann ich die Elemente noch nicht im Template ausgeben.PHP-Code:
$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace
(
'{image_legend},addImage',
'{image_legend},addImage,gallery',
$GLOBALS['TL_DCA']['tl_news']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_news']['fields']['gallery'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_news']['gallery'],
'inputType' => 'fileTree',
'eval' => array(
'mandatory' => false,
'multiple' => true,
'files' => true,
'fieldType' => 'checkbox',
'filesOnly' => true,
'extensions' => 'jpg,jpeg',
'orderField' => 'orderSRC',
'isGallery' => true
),
'exclude' => true,
'sql' => "blob NULL",
);
$GLOBALS['TL_DCA']['tl_news']['fields']['orderSRC'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_content']['orderSRC'],
'sql' => "blob NULL",
);
Hat da jemand einen Tipp?
Hiermit kann ich schon mal auf das Array zugreifen
Aber welche Image Klasse sollte hier zu auslesen verwendet werden?PHP-Code:
$images = deserialize($this->gallery);
$tmp = deserialize($this->orderSRC);
if (!empty($tmp) && is_array($tmp)) {
$order = array_map(function(){}, array_flip($tmp));
foreach ($images as $k => $v) {
if (array_key_exists($v, $order)) {
$order[$v] = $v;
unset($images[$k]);
}
}
if (!empty($images)) {
$order = array_merge($order, array_values($images));
}
$images = array_values(array_filter($order));
}
Ok, hab's gefunden
PHP-Code:
<?php foreach ($images as $uuid): ?>
<?php
echo \FilesModel::findByUuid($uuid)->path;
?>
<?php endforeach ?>
Achso, also du willst den Slider direkt in einer Newsliste ausgeben?
@Spooky: Ja
Ich hab jetzt die Bildgrößen Palette eingebunden.
Doch gibt es hier noch einen anderen Weg, die Bilddateien auszulesen als diesen hierPHP-Code:
$GLOBALS['TL_DCA']['tl_news']['fields']['sizes'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_content']['size'],
'exclude' => true,
'inputType' => 'imageSize',
'options' => \Contao\System::getImageSizes(),
'reference' => &$GLOBALS['TL_LANG']['MSC'],
'eval' => array('rgxp'=>'natural', 'includeBlankOption'=>true, 'nospace'=>true, 'helpwizard'=>true, 'tl_class'=>'w50'),
'sql' => "varchar(64) NOT NULL default ''"
);
PHP-Code:
<?php foreach ($images as $uuid): ?>
<?php
echo $this->getImage(\FilesModel::findByUuid($uuid)->path, 800,512,'crop');
?>
<?php endforeach ?>
Geändert von magic77 (18.03.2018 um 18:48 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen