Bilder zum Download anbieten

Aus eZ Wiki

Wechseln zu: Navigation, Suche

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
Persönliche Werkzeuge
http://ez.no