Bilder zum Download anbieten
Aus eZ Wiki
Möchte man Bilder zum Download anbieten muss eine kleine Ergänzung in der htaccess-Datei vorgenommen werden. Die Vorgehensweise im Template entspricht weitestgehend der zu Dokumente zum Download anbieten.
.htaccess anpassen
Ziemlich am Ende der .htaccess-Datei werden per Regel alle Requests die u.a. nicht auf .jpg enden an den Frontcontroller (index.php) übergeben.
Damit man Bilder über das content-Modul herunterladen kann, muss hier eine explizite Ausnahme als weitere Regel definiert werden.
RewriteRule ^content/download/.*$ /index.php [L]
Diese Zeile muss vor der allgemeinen Regel stehen, also in etwa wie folgt.
[...] RewriteRule ^/content/download/.*$ /index.php [L] RewriteRule !(\.(gif|jpe?g?|png|css|js|swf|html?)|var(.+)storage.pdf(.+)\.pdf)$ index.php [...]
Template Beispiel
{* Hier wird eine feste Node-ID für das Bild vorgegeben, das ist natürlich je nach Verwendung anzupassen. *}
{def $imageNode = fetch('content', 'node', hash('node_id', 67))}
{def $imageAttr = $imageNode.data_map.image}
<a href={concat("content/download/",
$imageAttr.contentobject_id,
"/",
$imageAttr.id,
"/image/",
$imageAttr.content.original_filename)|ezurl}>
{attribute_view_gui attribute=$imageNode.data_map.image image_class='small'}
Bild download
</a>
Die resultierende URL sollte wie folgt ausschauen:
http://example.org/content/download/123/123/image/MY_IMAGE.jpg
