Hallo,
ich übergebe in meinem Template ein Array mit Bildpfaden wie files/THEME/bild1.jpg
Wenn ich die Einträge im Array nun im Template ausgeben erscheint im Img src folgendes:Jemand eine Idee wie ich das lösen kann?Code:u����P�r����b
Hallo,
ich übergebe in meinem Template ein Array mit Bildpfaden wie files/THEME/bild1.jpg
Wenn ich die Einträge im Array nun im Template ausgeben erscheint im Img src folgendes:Jemand eine Idee wie ich das lösen kann?Code:u����P�r����b
So wie es aussieht übergibst du dem Template nicht ein Array mit Bildpfaden, sondern mit UUIDs. Die eigentlich Datei hinter der UUID bekommst du mitPHP-Code:
$objFile = \FilesModel::findById( $uuid );
echo $objFile->path;
Hi, den Code nutze ich bereits.
Genau $member['avatar'] gebe ich zurück. Wenn ich mir den Inhalt im Script ausgeben lasse, dann sehe ich dort auch den korrekten Pfad.PHP-Code:
if ( ( $objFile = \FilesModel::findByUuid( $member['avatar'] ) ) && file_exists(TL_ROOT . '/' . $objFile->path ) ) {
$member['avatar'] = $objFile->path;
}
Naja, das ist dann aber konträr zu deiner Aussage im ersten Post. Was genau gibst du nun wo aus? Wie sieht das ganze Template aus?
Script:
PHP-Code:
$members = $rs->fetchAllAssoc();
foreach( $members AS $member ){
if ( $member['avatar'] && ( $objFile = \FilesModel::findByUuid( $member['avatar'] ) ) && file_exists(TL_ROOT . '/' . $objFile->path ) ) {
$member['avatar'] = $objFile->path;
}
}
$this->Template->users = $members;
Template:
Und der Bildpfad wird im FE wie oben geschrieben angezeigt.PHP-Code:
<?php foreach ($this->users as $user): ?>
<?php if( $user['avatar'] ) : ?>
<img width="400" height="400" alt="" src="<?php print $user['avatar'] ?>">
<?php else: ?>
<img width="400" height="400" alt="" src="files/dummy01.png">
<?php endif; ?>
<?php endforeach; ?>
Das funktioniert so nicht, du änderst hier nur die lokale Variable $member, welches nur eine Kopie des Inhalts des Eintrages in $members ist. Damit das so funktioniert musst du stattdessenschreiben, also ein & for dem $member. Dadurch definierst du, dass $member eine Referenz auf die jeweilige Stelle im Array ist, und keine Kopie.PHP-Code:
foreach( $members as &$member )
ahh okay =)
Nun klappt es. Danke
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen