Jetzt hab ichs tatsächlich gewagt, ein eigenes Modul zu erstellen (Danke Tristan für deine Anleitung!). Konkret hab ich das FAQ-Modul überarbeitet. Was ich will, ist eine Teamliste mit Bild. Es klappt auch alles, ausser: Es zeigt bei jedem Teammitglied auf der Liste das selbe Bild an –*und zwar das letzte in der Reihe. Der ganze Rest funktioniert perfekt.
Ich denke, dass der Fehler irgendwo im nachfolgenden Code-Teil liegt.
Das mit dem Programmieren ist eigentlich nicht so meine Sache. Ich denke also, dass es ein kleiner Fehler beim Füllen des Arrays ist. Kann mir jemand sagen, wie ich das richtig mache?
// Add Teams
while ($objTeam->next())
{
$arrTemp = $objTeam->row();
$arrTemp['name'] = specialchars($objTeam->name, true);
$arrTemp['href'] = $this->generateTeamLink($objTeam);
// Add image
if ($objTeam->addImage && $objTeam->singleSRC != '')
{
if (!is_numeric($objTeam->singleSRC))
{
$this->Template->answer = '<p class="error">'.$GLOBALS['TL_LANG']['ERR']['version2format'].'</p>';
}
else
{
$objModel = \FilesModel::findByPk($objTeam->singleSRC);
if ($objModel !== null && is_file(TL_ROOT . '/' . $objModel->path))
{
$objTeam->singleSRC = $objModel->path;
$this->addImageToTemplate($this->Template, $objTeam->row());
}
}
}
$arrTeam[$objTeam->pid]['items'][] = $arrTemp;
$arrTeam[$objTeam->pid]['headline'] = $objTeam->getRelated('pid')->headline;
}
$arrTeam = array_values(array_filter($arrTeam));
Herzlichen Dank schon mal.
Edit: Contao Version 3.1.4
Noch ein Edit: Im Template gebe ich <img src="<?php echo $team['singleSRC']; ?>" > an und es erscheint die ID des Files. Wenn ich direkt mit FilesModel::findByPk($team['singleSRC']) versuche, bleibt die img src leer... mit \FilesModel::findByPk($team['singleSRC']) bleibt die ganze Seite leer.
Habs rausgefunden, nach einigen Stunden probieren, suchen und dann.... eigentlich logisch, war ja klar...
Das hier
$objTeam->singleSRC = $objModel->path;
musste so aussehen
$arrTemp['singleSRC'] = $objModel->path;
Lesezeichen