Modul Auflistung Detail-Template mit Avatar und Link ergänzen
Hallo zusammen,
ich versuche gerade, das Detail-Template vom Listing-Modul mit Bild und Link zu ergänzen. Die Daten kommen aus einer Mitgliederliste, die ich bisher mit cm_membermaps gepflegt hatte. In 4.13 wurden Avatar und Link noch problemlos dargestellt, auf der Detailseite des Listing-Moduls klappt das jetzt nicht mehr. Hat da jemand einen Tip, an was es liegen könnte? Der Avatar im List-Template funktioniert, nur im Detail-Template eben nicht.
List-Template:
PHP-Code:
<?php if ($this->searchable && $this->for && empty($this->tbody)): ?>
<?= $this->no_results ?>
<?php else: ?>
<div class="all_records">
<?php foreach ($this->tbody as $class=>$row): ?>
<div class="<?= $class; ?> memberCard">
<?php foreach ($row as $col): ?>
<?php if (($col['field'] == 'firstname')): ?>
<p class="body name<?= $col['class']; ?>"><a href="<?= $col['url']; ?>"><?= $col['content']; ?>
<?php elseif (($col['field'] == 'lastname')): ?>
<?= $col['content']; ?></a></p>
<?php elseif ($col['field'] == 'avatar'): ?>
<p class="avatar"><img src="<?= Contao\FilesModel::findByUuid($col['content'])->path; ?>" alt=""></p>
<?php elseif (($col['field'] == 'postal')): ?>
<p class="body <?= $col['class']; ?>"><?= $col['content']; ?>
<?php elseif (($col['field'] == 'city')): ?>
<?= $col['content']; ?></p>
<?php else: ?>
<p class="body <?= $col['class']; ?>"><?= $col['content']; ?></p>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
Detail-Template mit zwei Versuchen:
PHP-Code:
<div class="single_record">
<?php foreach ($this->record as $col): ?>
<?php if ($col['field'] == 'button_linkurl'): ?>
<p class="route"><a href="https://<?= $col['content']; ?>"><?= $col['content']; ?></a></p>
<?php elseif ($this->button_linkurl): ?>
<p class="route"><a href="https://<?= $this->button_linkurl ?>">Standort auf Google Maps></a></p>
<?php elseif ($col['field'] == 'avatar'): ?>
<p class="avatar"><img src="<?= Contao\FilesModel::findByUuid($col['content'])->path; ?>" alt=""></p>
<?php else: ?>
<p class="body <?= $col['class']; ?>"><?= $col['content']; ?></p>
<?php endif; ?>
<?php endforeach; ?>
</div>
DCA-Felder:
PHP-Code:
$GLOBALS['TL_DCA']['tl_member']['fields']['button_linkurl'] = [
// Den Labeltext gleich hier im DCA definieren
'label' => ['Google-Link', 'Google-Link'],
'inputType' => 'text',
'eval' => ['rgxp' => 'url', 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => ['type' => 'string', 'default' => ''],
];
$GLOBALS['TL_DCA']['tl_member']['fields']['avatar'] = [
// Den Labeltext gleich hier im DCA definieren
'label' => ['avatar', 'Bild auswählen'],
'inputType' => 'fileTree',
'eval' => ['files' => true, 'filesOnly' => true, 'tl_class' => 'w50 m12', 'fieldType' => 'checkbox', 'extensions' => 'jpg,png,jpeg'],
'sql' => "binary(16) NULL",
];
// Das neue Feld den gewünschten Inhaltselementen hinzufügen:
PaletteManipulator::create()
->addField(array('button_linkurl', 'avatar'), 'contact_legend', PaletteManipulator::POSITION_APPEND)
->applyToPalette('default', 'tl_member')
;