Galerie mit Schutz und Download gesucht
Hi,
ich habe regelmäßig Fotos die ich bestimmten Leuten zur Verfügung stellen muss, die Fotos sollen aber nicht von anderen angesehen werden können. Die Leute sollen auch selbst bestimmen welche Fotos von Ihrem Set sie runterladen wollen.
Dazu habe ich 2 Fragen.
- Passwortschutz
Bisher hatte ich das nicht mit Contao durchgeführt, ich habe ein Verzeichnis mit den Fotos und ner .htaccess mit Passwortschutz erstellt. Den jeweiligen User und das Passwort habe ich den Leuten dann per E-Mail mitgeteilt.
In Contao ist das ja nur mit mehr Aufwand zu machen, denn da muss ich für jeden Ordner bzw. jede Seite mit den Fotos ein Mitglied und eine Mitgliedergruppe anlegen. Gibt es hier keine Möglichkeit sowas einfacher zu gestalten, also dass ich nur ein Mitglied anlegen muss und keine zusätzliche Gruppe? - Download
Ich kann ja mit Bordmitteln eine Galerie erstellen und diese mit der Mediabox oder Slimbox anzeigen lassen, aber von der Ansicht aus kann man das Foto leider nicht runterladen. Gibt es eine Erweiterung oder Konfiguration damit ich in der Mediabox oder Slimbox direkt auch das angezeigte Foto runterladen kann?
Liste der Anhänge anzeigen (Anzahl: 1)
Statusmeldung ;-)
- Passwortschutz
Ich hab zwar einen wechselnden Personenkreis der sich die Fotos runterladen können soll, aber die überschneiden sich zeitlich gesehen kaum, das sind maximal 3 verschiedene Leute gleichzeitig. Um trotzdem eine Reserve zu haben gehe ich von 5 Leuten aus, habe also alles folgende 5 mal vorgebaut.
Für jede Person gibt es einen Ordner in den die Fotos kommen, diese haben einen kryptischen Namen damit man das nicht erraten kann. Es gibt 5 verschiedene Mitglieder-Gruppen mit je einem Mitglied darin. Name und Passwort ändere ich dann immer für die aktuelle Person. Es gibt 5 Seiten die nicht in der Navigation zu sehen sind, nicht in der Suche und Sitemap auftauchen und gleichzeitig mit noindex und nofollow ausgeprägt sind. Jede der Seiten hat als erstes ein Log In-Modul und dann eine Galerie die aber geschützt ist und nur von einer der Gruppen gesehen werden darf, also auch nur von einem Mitglied da nur 1 Mitglied pro Gruppe vorgesehen ist.
Deeplinks sind zwar noch möglich, aber die muss man erst mal kennen. Die Erweiterung tl_fileProtect muss ich später mal testen, habe jetzt keine Zeit mehr dazu.
- Download
Das war schwierig und hat mich viel Zeit gekostet :-(
Ich habe die Mediabox so angepasst, dass es einen Download-Link gibt mit dem man direkt einen Download des angezeigten Fotos anstoßen kann, das geht per Mausklick oder auch mit dem Pfeil nach unten auf der Tastatur. Dazu habe ich das JavaScript der Mediabox anpassen müssen. Gleichzeitig war noch eine Anpassung der CSS-Datei der Mediabox nötig, diese habe ich aber ausgelagert und über das Mediabox-Template eingebunden, bei einem Mediabox-Update muss ich also nur das JavaScript anpassen. Dann habe ich noch schnell ein Icon gebaut dass das schöner zur Mediabox passt.
Zuerst habe ich nur einen Link direkt auf das Foto erzeugt, also dass man mit der rechten Maustaste auf den Link klicken und das Foto dann lokal speichern kann. Das fand ich aber nicht so toll da man dann zum Runterladen die Maus benötigt und ich bin eher der Tastaturfetischist und die Mediabox kann man ja sonst auch mit der Tastatur steuern. Dazu habe ich mir das Content Element Downloads probehalber unter der Galerie eingebunden, das stößt ja einen Download an wenn man auf den Link klickt. Bis der Download-Link dann auch in der Mediabox so zusammengebaut war, das hat gedauert, ich musste dazu auch schon Variablen im Mediabox-Template vorher befüllen damit das eigentliche JavaScript die nötigen Pfadangaben hat. Als das dann funktioniert hat habe ich das Downloads-Element wieder gelöscht, das war ja nur zum Testen wie der Link aussehen muss. Prompt ging danach der Download aus der Mediabox nicht mehr :-(
Contao benötigt also wirklich das Download-Element mit den entsprechenden Fotos auf der Seite, sonst funktioniert der automatische Download nicht.
Das habe ich nun so gelöst, dass unter der eigentlichen Galerie noch das Downloads-Element aufgeführt ist, aber mit der Klasse „invisible“ dass es nicht sichtbar ist. Jetzt geht das ganz geschmeidig :-)
Und so sieht das dann aus:
Download-Link je nach Inhalt verwenden
Kleiner Tweak am Rande. Vielleicht nutzt es einem!
Ich stand vor der Aufgabe, Mediaboxen mit und ohne Downloadlinks gleichzeitig nutzen zu wollen.
Je nach Content soll also entweder ein Downloadlink erscheinen oder nicht.
In meinem Fall will ich nur bei Fotos die Downloadoption einblenden.
Das geniale dabei ist, dass verschiedenen "Lightbox/Mediabox"-Elementen auf einer Seite unterschiedliche Einstellungen zugewiesen werden können.
1. #myImageDownload den Zustand display:none; per css zuweisen. (wird also standardmäßig ausgeblendet)
2. mediabox_src anpassen:
etwa Zeile 354:
Code:
if (URL.match(/\.gif|\.jpg|\.jpeg|\.png|twitpic\.com/i) || mediaType == 'image') {
mediaType = 'img';
myImageDownload.setStyle("display", "block");
etwa Zeile 365:
Code:
mediaType = 'obj';
mediaWidth = mediaWidth || options.defaultWidth;
mediaHeight = mediaHeight || options.defaultHeight;
myImageDownload.setStyle("display", "none");
etwa Zeile 799:
Code:
// CONTENT TYPES
// INLINE
} else if (URL.match(/\#mb_/i)) {
mediaType = 'inline';
mediaWidth = mediaWidth || options.defaultWidth;
mediaHeight = mediaHeight || options.defaultHeight;
myImageDownload.setStyle("display", "none");
etwa Zeile 808:
Code:
// HTML
} else {
mediaType = 'url';
mediaWidth = mediaWidth || options.defaultWidth;
mediaHeight = mediaHeight || options.defaultHeight;
myImageDownload.setStyle("display", "none");
Natürlich lässt sich die mediabox_src.js immer individuell anpassen. Also das "Ganze" nur als Vorschlag sehen!!!
Zudem lässt es sich auch vorerst updatesicher umsetzen, wenn man eine eigene moo_mediabox.js anlegt und ins Seitenlayout integriert.
Viel Spass dabei!!!
Einbinden bei Version 2.11.6 - NOK
Hallo zusammen,
ich kämpfe seit Tagen mit der Einbindung des Downloadbuttons lt Erklärung von Russe.
Wenn ich alle Änderungen eintrage, "lädt" (oder auch nicht) die Mediabox ewig.
Ich sehe nur das loating.gif, aber kein Bild
das Problem scheinen diese Änderungen zu sein:
Code:
$down_end = URL.substr(URL.indexOf($down_host)+$down_host.length+1);
myImageDownload.setProperty('href', $down_URL_1+$down_URL_2+$down_end).set('html', '');
sobald ich die wieder entferne, kommt das Bild, aber natürlich kein Downloadbutton.
Hat die Adaptierung schon wer unter 2.11.6 erfolgreich laufen?
oder gibt es einen anderen Tweak?
Besten Dank