Ich möchte im geschützten Bereich Bilder für eingeloggte Mitglieder sichtbar ausgeben.
Damit sie nicht im Assets-Ordner landen, sollen sie nicht verkleinert, sondern original anzeigt werden.
Default zeigt Contao die Bilder aus dem geschützten Ordner nicht an.
Über die Downloads-CE können eingeloggte, berechtigte Mitglieder sie herunterladen, aber sie bekommen sie nicht direkt angezeigt.
Anhand anderer Threads hier im Forum habe ich versucht eine Lösung zu basteln, aber offensichtlich habe ich den Dreh nicht raus:
Template galerie_intern.html5
PHP-Code:
<div class="cols_<?= $this->perRow ?>" itemscope itemtype="http://schema.org/ImageGallery">
<?php foreach ($this->body as $class=>$row): ?>
<?php foreach ($row as $col): ?>
<?php if ($col->addImage): ?>
<p class="<?= $class ?> <?= $col->class ?>">
<figure class="image_container"<?php if ($col->margin): ?> style="<?= $col->margin ?>"<?php endif; ?>>
<img src="image-intern.php?img=<?php echo $col->src ?>" alt="">
<figcaption class="caption">
<a href="galerie.html?file=<?php echo $col->src ?>">Download</a>
</figcaption>
</figure>
</p>
<?php endif; ?>
<?php endforeach; ?>
<?php endforeach; ?>
</div>
Im Web-Ordner habe ich zudem eine Datei image-intern.php angelegt, in der Hoffnung darüber die Anzeige erzwingen zu können:
PHP-Code:
<?php
$type = substr($_GET['img'],-3);
header('Content-Type: image/' . $type);
readfile('/www/htdocs/FOO/files/intern/' . $_GET['img']);
?>
Leider klappt es nicht. Hat jemand eine Idee, wie ich es hinbekommen kann?
Lesezeichen