[gelöst] Slideshow mit Drupal-Integration gesucht

am 16.08.2013 - 10:35 Uhr in
Hallo zusammen,
auf der Suche nach einer Slideshow, die ein paar wenige Anforderungen erfüllen soll, bin ich leider bisher erfolglos geblieben.
Folgende Anforderungen sind gegeben:
- Es müsste möglich sein, im Backend über einen Inhaltstypen mehrere Bilder angeben bzw. hochladen zu können.
- Ein nachträgliches Austauschen/Löschen der Bilder sollte möglich sein.
- Weiterhin wäre es hilfreich, wenn sich die Slideshow als Block speichern ließe, um sie z.B. auf der Startseite in einem bestimmten Bereich anzeigen zu lassen.
- Außerdem wäre es sehr wichtig, dass sich optional manche Slides (Bilder) mit einer bestimmten Seite verlinken lassen.
- Natürlich wäre ein möglichst breiter Support für alle gängigen Browser wichtig (IE8+)
Heute Morgen habe bereits erfolglos versucht, den BxSlider mit diesem Modul BxSlider - Views slideshow integration zum Laufen zu kriegen, aber ich erhalte prompt zwei JS-Fehler:
Uncaught SyntaxError: Unexpected token , bxslider:221
Uncaught TypeError: Cannot call method 'apply' of undefined
Ich bin mir aber auch gar nicht sicher, ob der für meine Anforderungen geeignet ist und ob man damit einfache Slideshows erstellen kann und eben auch Content verlinken kann.
Vor einigen Woche habe ich auch mal mit Galleria versucht, eine Slideshow zu erstellen, aber wenn ich mich
recht erinnere, hatte ich dabei auch das Problem, dass man den Slides nicht mit einer Seite verlinken konnte.
Eigentlich kann ich mir gar nicht vorstellen, dass es dafür nicht bereits fertige Lösungen gibt, ich habe eben nur noch keine gefunden.
Hat jemand hilfreiche Informationen dazu und kann mir auf die Sprünge helfen? Würde mich sehr darüber freuen.
Grüße Axel
- Anmelden oder Registrieren um Kommentare zu schreiben
Hast Du schon mal das Modul views-slideshow ausprobiert?
am 16.08.2013 - 11:39 Uhr
Hallo,
ich habe meine Slideshow mit diesem Modul gemacht. Es werden die Bilder vom Inhaltstyp Bild dort verwendet. Die kann ich ja jederzeit neue Bilder hochladen und andere Bilder dafür deaktivieren.
Ich hoffe das hilft Dir weiter.
Viele Grüße
Marita Betz
Slideshow
am 16.08.2013 - 11:42 Uhr
Der folgende Link beantwortet dir sicherlich einige Fragen:
cocoate.com/de/drupal-6-deutsch/content-construction-kit-cck/wie-geht-es-weiter
Hast du bei dem bxslider die
am 16.08.2013 - 12:39 Uhr
Hast du bei dem bxslider die libraries/bxslider korrekt angelegt? bei mir läuft der auf Drupal 7 soweit gut, lediglich bei Responsive Ansicht gibt es einige Darstellungsfehler, ob es an mir oder dem bxslider liegt kann ich momentan nicht sagen.
Versuche es mal mit der DEV Version und lese dir die Readme durch, die Datei in libraries/bxslider habe ich statt bxslider.min.js in jquery.bxslider.min.js belassen, das Beispiel auf der Modulseite ist anders beschrieben.
Deine Anforderungen kann dieser Slider erfüllen, aber du mußt den Inhaltstyp dafür so anlegen, das du extra Felder demententsprechend auch ausgeben kannst.
Hier siehst du was du mit dem Slider anstellen könntest: http://bxslider.com/examples
Andere Möglichkeit wäre der FlexSlider, diesen setze ich momentan sehr gern ein, da die Responsive Darstellung perfekt ist, auch Views Integration möglich.
https://drupal.org/project/flexslider
Zu deiner Frage bezüglich fertiger Slideshows: das macht keinen Sinn, jeder möchte ja mit der Slideshow was anderes erreichen, eigentlich sind diese Module fertig, du mußt halt selber das draus machen was du möchtest, etwas einlesen, Google/ YouTube Tutorials gibt es für den Flexslider massenhaft.
Viele Grüße
Jenna
Also erst einmal vielen Dank
am 16.08.2013 - 14:27 Uhr
Also erst einmal vielen Dank für die verschiedenen Informationen.
Bzgl. des BxSliders habe ich eigentlich alles so eingerichtet, wie es in der README.txt vermerkt ist,
also der Pfad zur JS-Datei unter /sites/all/libraries/bxslider/jquery.bxslider.min.js.
Wieso es nicht geht, kann ich im Moment nicht herausfinden. Ich habe beide Versionen ausprobiert, die
"normale" und die Dev-Version.
Aber ich habe nochmal eine andere generelle Frage:
So wie ich das jetzt mittlerweile verstehe, müsste ich pro Bild (Slide) eine eigene Node-Seite anlegen,
damit ich über das Views-Modul eine Slideshow mit verlinkbaren Bildern erstellen kann, richtig?
Das war mir nämlich die ganze Zeit nicht klar...
Das Galleria-Modul habe ich vorhin nochmal getestet. Es hat auch auf Anhieb funktioniert, allerdings lassen
sich die Bilder eben nicht verlinken, weil es eine einzige Seite (Node) ist, der ich mehrere Bilder hinzugefügt habe.
Falls es wirklich keine andere Möglichkeit gibt, als für eine Slideshow mehrere Seiten zu erstellen, dann muss
ich mir nochmal genauer das Views Slideshow und das Flex Slider-Modul anschauen.
Ich hoffe, mit irgendeinem Slideshow-Modul bekomme ich das endlich gebacken.
Nochmal vielen Dank!
Du kannst in einem View auch
am 16.08.2013 - 14:45 Uhr
Du kannst in einem View auch alle Bilder eines Nodes als Liste ausgeben (Node-ID als "Kontextual Filter"), aber was meinst Du mit verlinken? Wenn dazu weitere Informationen notwendig sind, mußt Du die doch auch pro Bild haben. Meinst Du aber die Links als übergang in die Lightbox o.A., dann regelt man das im View über den Formatter, bei dem man einträgt, daß man mit der Lightbox arbeiten will.
Beste Grüße
Werner
Wenn du pro Bild eine
am 16.08.2013 - 15:12 Uhr
Wenn du pro Bild eine Verlinkung möchtest solltest du ein Bild pro Node anlegen, damit du je Bild auf unterschiedliche Seiten verlinken kannst.
Du könntest zwar auch in der View das Bildfeld als Link hinterlegen, aber dann verweisen alle Links auf die gleiche Seite.
Einen weiteren Weg, den es vermutlich bei Drupal auch noch gibt, habe ich noch nicht probiert, ich lege eine Node pro Bild an plus gewünschter Zusatzfelder im jeweiligen Inhaltstyp.
Flexslider ist wesentlich weiter vorkonfiguriert als Views Slideshow allein, das geht mit der Views Slideshow zwar auch, aber ist Anfangs sehr mühsam, daher empfehle ich dir den Flexslider in Kombination mit Views Slideshow.
Guck dir ein oder zwei Tutorials zum Flexslider an, dann lösen sich viele Fragen von allein.
http://www.youtube.com/watch?v=gn0QIRd6-sw
oder
http://www.youtube.com/watch?v=s8I0r6zEvjI
Grüße Jenna
noch eine Info zum
am 16.08.2013 - 15:17 Uhr
noch eine Info zum https://drupal.org/project/flexslider
Ich habe dieses Modul lange Zeit nicht installiert weil mich die Dateigröße abgeschreckt hat, bis ich nach etwas suchen (lokal, entzippt) gesehen habe, das der Entwickler riesige Bildformate als Demo reingepackt hat.
Diese habe ich per IrfanView verkleinert und das Modul per FTP hochgeladen, also das Modul ist definitiv nicht so überladen wie es aussieht.
Grüße Jenna
Views Slideshow/ViewsSlideshowcycle kann das auf einer Seite...
am 16.08.2013 - 16:24 Uhr
Du legst ein Imagefield an, was mehrere Werte haben kann.
In der View legst du unter 'Erweitert' einen Kontextfilter: Inhaltssversion -> Beitrags-ID
hiermit werden alle in einer Node eingebundenen Bilder angezeigt, abhängig von der Node-ID
In den Einstellungen des Imagefields muss bei 'Multiple field settings: Alle Werte in der selben Reihe anzeigen' der haken raus
hiermit werden die Bilder einzeln angezeigt
Mit ColorBox oder ähnlichen Tools und den richtigen Einstellungen in der SlideShow (widgets) kannst du da feine Galerien zaubern.
Viel Spass & Lg
Don
Zitat: Außerdem wäre es sehr
am 16.08.2013 - 16:44 Uhr
Außerdem wäre es sehr wichtig, dass sich optional manche Slides (Bilder) mit einer bestimmten Seite verlinken lassen.
@DonQ
Wie weist du denn bei deiner Vorgehensweise den einzelnen Slides unterschiedliche Links zu?
Viele Grüße
Jenna
ImageField Extended wäre hilfreich....
am 16.08.2013 - 17:29 Uhr
gibt es aber nicht für Drupal 7, wie ich eben feststellen muss....hmmmm
Wäre es ein Ansatz die URL in den Image-Title zu schreiben und die Ausgabe zu überschreiben in der View?
So etwa:
<a href="[field_bild-title]" target="_blang">[field_bild]</a>
oder mit extralink unterm Bild:
<a href="[field_bild-title]" target="_blank">[field_bild]</a><br>
<a href="[field_bild-title]" target="_blank">Weitere Informationen</a>
klappt mit einer 'normalen' view problemlos - mit ColorBox wird's schwierig
Lg
DonQ
Nimm z.B. einen Galerie-Node
am 16.08.2013 - 17:39 Uhr
Nimm z.B. einen Galerie-Node den Du selbst definierst: Titel, optional Beschreibung und Tags und Field_collection Feld, das beliebig oft wiederholbar ist. In die Field Collection packst Du dann Imagefield, Untertitel, Link, ...
In Views übergibst Du die Node-ID der Galerie und erstellst eine Beziehung über das Field Collection Feld. Jetzt kannst Du die Felder aus der Field Collection als Liste ausgeben. Mehr braucht es für die normalen Slider nicht. Probiere es einfach aus.
Beste Grüße
Werner
Den Titel als Link verwenden
am 16.08.2013 - 17:43 Uhr
Den Titel als Link verwenden geht schon, nur du beziehst dich auf ein Imagefield, hat er aber 6 Slides mit 6 externen Links zu Seite A, B, C, usw. wirds schwierig.
Und bevor ich jetzt in einer Node 6 Imagefields anlege plus 6 URL-Fields, erstelle ich lieber 6 Nodes und gebe diese aus mit Filter auf Inhaltstyp mein-slider.
Ich wüßte so nicht wie man bei einem mehrfach verwendeten Imagefield unterschiedliche Links zuweisen sollte.
Grüße Jenna
geht jenna
am 16.08.2013 - 17:53 Uhr
Ein (!) imagefiled (muliple) in die Node reicht!
Zu jedem Image wird der passende Title und somit die passende URL ausgegeben, hab's probiert..
;-)
Lg
DonQ
@DonQMenno, klappt super,
am 16.08.2013 - 20:22 Uhr
@DonQ
Menno, klappt super, danke für deine Hartnäckigkeit... ich hatte wohl ein völliges Blackout, habe mich immer auf den einen Node-Titel bezogen, anstatt den Bild-Title im Inhaltstyp zu aktivieren.
Für A.Winter:
Also im Inhaltstyp bei deinen Image Feld auch den Titel aktivieren, so kannst du unter einer Node und einem Imagefield beliebig viele Images hochladen mit verschiedenen Titel/ URLs
In der View dein Imagefield unter Felder wählen, dieses Feld dann öffnen und unter Ergebnisse überschreiben, hier mein Beispiel: Hier müssen jetzt lediglich deine Feldnamen rein, die findest du unter Token.
<a href="[field_slider_basic-title]" target="_blank">[field_slider_basic]</a>
oder eben auch target_self, etc.
Beim Anlegen einer neuen Node kannst du dann einfach die komplette URL in den jeweiligen Bild-Titel setzen, funktioniert super.
Viele Grüße Jenna ( die jetzt erstmal ihren Slider umbaut....)
Sehe gerade das ich bei
am 17.08.2013 - 05:08 Uhr
Sehe gerade das ich bei Ausgabe per:
<a href="[field_bild-title]" target="_blank">[field_bild]</a>
folgende Ausgabe unter Protokollmeldungen erhalte:Notice: Undefined index: language in metatag_metatags_values() (Zeile 790 von /dbtest/testdrupal/sites/all/modules/metatag/metatag.module).
Habe statt dessen nun unter Ergebnisse überschreiben, dieses Feld als Link ausgeben, gewählt, dort dann nur [field_bild-title] eingetragen, was auch komfortabler funktioniert, allerdings wird die Error-Meldung immer nach bearbeiten der View wieder ausgegeben.
Werde doch die Field Collection Variante von wla zusätzlich testen, ist ja auch sehr komfortabel für die Ausgabe weiterer Daten.
Weiß eventuell jemand wie der Error in Bezug auf das metatag Modul zustande kommt?
Grüße Jenna
das geght alles mit
am 17.08.2013 - 05:47 Uhr
das geght alles mit field_slideshow und fieldgroup und views
field_slideshow sieht interessant aus
am 17.08.2013 - 08:26 Uhr
werde ich mir vor der nächsten slideshow- Umsetzung auf jeden Fall ansehen
thx
@wla In die Field Collection
am 17.08.2013 - 16:22 Uhr
@wla
In die Field Collection packst Du dann Imagefield, Untertitel, Link, ...
Sehr komfortabel, finde ich die beste Lösung von allen, auch für Kunden gut zu verstehen und keine Error Meldung vom MetaModul.
Ich habe nur ein Darstellungsproblem mit dem Flexslider, die Paging Controls und Text / URL Ausgabe klappt bestens, aber hier bekomme ich partout statt Paging Controls keine Miniaturbilder angezeigt.
Bei meiner Bauweise funktionieren die Thumbs perfekt, das Profil welches ich auf den Flexslider gelegt habe, gibt auch per Debug Modus keinen Hinweis.
Irgendeine Idee warum die Thumbs als Steuerung nicht erkannt werden? Meine 3 Felder (Image, URL, Slidertext) liegen innerhalb der Field Collection)
Viele Grüße
Jenna
Zuerst einmal möchte ich mich
am 19.08.2013 - 10:55 Uhr
Zuerst einmal möchte ich mich bedanken für euere Feedback und die ganzen Informationen.
Ich habe mich heute morgen nochmal mit dem Lösungsvorschlag von wla beschäftigt, also über eine Field collection
zwei Felder vom Typ Bild und Link ergänzen und die ganze Collection beliebig oft dem neuen Inhaltstypen hinzuzufügen.
Die Lösung gefällt mir sehr gut, weil sich so auch bei einer Änderung der aktuellen Sprache die Links übersetzen bzw.
anpassen lassen müssten.
Für die Slideshow habe ich dann den Flexslider (inkl. FlexSlider Views Style) installiert und, wie von wla beschrieben, eine
Ansicht erstellt (Felder vom Typ meines erstellten Inhaltstyps), eine Beziehung zu meiner Field collection hinzugefügt, ein
ausgeblendetes Linkfeld, sowie ein Bildfeld, das mit dem Inhalt aus meinem Linkfeld verlinkt wird, ergänzt.
Jetzt zuerst die gute und dann die schlechte Nachricht:
Auf einer anderen Drupal-Seite (ziemliche jungfräuliche Installation) hat alles auf Anhieb funktioniert, außer, dass die Vor-
und Zurück-Buttons ziemlich seltsam aussehen.
Auf meiner eigentlichen Drupal-Seite, auf der der Slider benötigt wird, erhalte ich wieder JS-Fehler, obwohl der Slider im Bearbeitungs-
modus der Ansicht, also im Vorschaumodus (Auto preview) funktioniert.
Hier der Beweis:

Und hier meine Fehlermeldung im Chrome:

Ich gehe mal davon aus, dass die JS-Dateien irgendwie falsch eingebunden werden oder in einer falschen Reihenfolge. Da ich
mehrere Templates überschrieben habe, wird es irgendwie daran liegen.
Aber auch, wenn ich meine geänderte html.tpl.php aus meinem Templates-Ordner lösche und die "normale" Template-
Datei geladen wird, bleibt der Fehler bestehen und ich weiß leider nicht, wodurch er entsteht.
Ich benutze als Theme ein Zen-Subtheme.
Hat jemand einen Tipp für mich?
Die $-Funktion in jQuery hat
am 19.08.2013 - 11:32 Uhr
Die $-Funktion in jQuery hat aber keine .once() Funktion. Das kannst Du auch auf der Seite http://api.jquery.com/ nachsehen. Also ist Dein Script fehlerhaft.
edit:
Ich habe aber noch mal nachgesucht und .once ist in den Drupal behaviors vorhanden. Also mußt Du das ganze in einen Drupal.behaviors.mybehavior = { ...... } Umschlag gepackt werden.
Beste Grüße
Werner
Vielen Dank Werner für den
am 19.08.2013 - 12:31 Uhr
Vielen Dank Werner für den Tipp.
Ich habe mittlerweile wieder etwas neues festgestellt. Wenn ich ein Standard Zen-Subtheme als Theme auswähle,
funktioniert der Slider doch, ohne sonst etwas anderes eingestellt zu haben.
Muss es dann nicht definitiv etwas meinen Templates zu tun haben!? Evtl. auch mit der THEME.info oder der theme-settings.php.
Ich mache mich nochmal gründlich auf die Suche und hoffe, dass ich den Grund finde.
Es hat also anscheinend nichts mit dem Flexslider und den dazugehörigen Modulen/Einstellungen zu tun.
Ein Problem habe ich allerdings schon bemerkt:
Die Slideshow füllt den kompletten horizontalen Bereich aus, der zur Verfügung steht. Also ich hätte gerne eine bestimmte Größe
von bspw. 615x436 Pixeln, aber die Slideshow ist immer größer, obwohl
Das ist aber im Moment mein kleinstes Problem...
Das hat sicher mit deinem
am 19.08.2013 - 14:51 Uhr
Das hat sicher mit deinem Subtheme zu tun, da der Flexslider bei anderen Themes ja läuft, hier noch der Tutorial link zum vergleichen:
https://drupal.org/node/1010576
Lege doch notfalls ein neues sauberes Subtheme an und übertrage deine bisherigen Änderungen schrittweise und überprüfe vor jedem Schritt den Slider, rächt sich später ohnehin auch bei anderen Dingen wenn jetzt schon ein Fehler im Theme ist.
Zu deiner Bilddarstellung:
Hast du unter /admin/config/media/flexslider auch ein Profil angelegt welches deine Bildvorgaben enthält und dieses in der View unter Flexslider wiederum zugewiesen?
Grüße Jenna
Hallo A.Winter, wenn du bei
am 19.08.2013 - 16:25 Uhr
Hallo A.Winter,
wenn du bei Field Collection bleibst, empfehle ich dir https://drupal.org/project/field_collection_views auch zu installieren.
Dieses Modul erzeugt eine eigene View, diese öffnen (am besten vorher duplizieren) und über diese View den Flexslider ausgeben, dann werden auch die Thumbs korrekt angzeigt, falls du die benötigst.
Ohne dieses Modul funktioniert alles andere auch, bis auf die Thumb Steuerung, hier auch noch einmal herzlichen Dank an wla, der so freundlich war und diese Variante mit überprüft hat.
Viele Grüße
Jenna
Den Fehler konnte ich gestern
am 20.08.2013 - 08:16 Uhr
Den Fehler konnte ich gestern zum Glück noch finden.
Aus einer früheren "Webseiten-Version" war in einer JavaScript-Datei noch eine zusätzliche jQuery-Library eingebunden,
was dann wohl zu Komplikationen führte.
Nachdem ich diesen Teil entfernt und alle "$-Aufrufe" durch "jQuery-Aufrufe" ersetzt hatte, lief alles wie geschmiert.
Was ich allerdings komisch finde, ist, dass Drupal (bei mir) standardmäßig eine so alte jQuery-Version eingebunden wird (1.4.4).
Noch kurz eine andere Frage. Bei mir wird jeglicher JS-Code in diesem Konstrukt ausgeführt:
(function ($, Drupal, window, document, undefined) {
jQuery(document).ready(function($) {
});
})(jQuery, Drupal, this, this.document);
Wenn ich z.B. eine alternative Schreibeweise für die $(window).load(function () {}); benötige, habe ich das
im Moment so gelöst:
(function($) {
$(window).bind('load', function() {
});
})(jQuery);
Ist das so in Ordnung oder wie müsste man es korrekt machen?
Und an Jenna nochmal vielen Dank für den Tipp bzgl. des Moduls Field Collection Views.
Das Problem, dass der Slider "sich nicht an die Größenvorgaben" hält, besteht prinzipiell weiterhin, aber ich habe einfach einem äußeren
Container eine feste Größe gegeben und es so gelöst.
Vielen Dank an alle für die Unterstützung!
Naja, es muß nicht immer die
am 20.08.2013 - 08:29 Uhr
Naja, es muß nicht immer die neuste jQuery Version sein. Vermutlich wird ohne triftigen Grund nach der ersten Release von Drupal die Version nicht mehr geändert, da das an einigen Stellen unangenehme Nebenwirkungen haben könnte. Wenn Du eine neuere Version brauchst, gibt es das Modul [do:jquery_update jQuery Update].
Deine Einbindung von jQuery-Code ist völlig korrekt mit dem jQuery-Umschlag.
Beste Grüße
Werner
Gerade eben, als ich dachte,
am 20.08.2013 - 09:32 Uhr
Gerade eben, als ich dachte, dass alles funktioniert, ist mir aufgefallen, dass der Slider im IE10 nicht funktionierte,
obwohl er sowohl im IE7, 8 und 9 funktioniert.
Es gibt wohl eine manuelle Lösung, in der jquery.flexslider.js zwei Zeilen Code zu ergänzen, siehe hier:
IE10 not slide · Issue #413 · woothemes/FlexSlider · GitHub
Aber tatsächlich habe ich mein jQuery mithilfe des Moduls jQuery Update auf die Version 1.8.2
geupdatet und siehe da, es funktioniert tadellos (ohne in der jquery.flexslider.js-Datei rumdoktern zu müssen).
Jetzt ist alles perfekt und ich bin glücklich. Danke Werner für den Hinweis bzw. die Bestätigung bzgl. jQuery-Einbindung!
Update
am 20.08.2013 - 12:52 Uhr
Aber tatsächlich habe ich mein jQuery mithilfe des Moduls jQuery Update auf die Version 1.8.2
geupdatet und siehe da, es funktioniert tadellos (ohne in der jquery.flexslider.js-Datei rumdoktern zu müssen).
Update:
Mit der jQuery-Version 1.8.2 ist die Views-UI "kaputt gegangen". Danach habe ich Version 1.7.1 eingestellt und jetzt geht beides.
Link-Feld lässt sich nicht übersetzen
am 03.09.2013 - 09:11 Uhr
Dank eurer Hilfe konnte ich ja mit dem Flexslider einen schönen Slider bauen, mit dem Bilder über das Backend einbinden kann.
Als ich jetzt den Slider für eine andere Sprache übersetzen wollte, ist mir aufgefallen, dass sich die Links nicht übersetzen lasse.
Also ich habe ja für jedes Bild eine Field collection verwendet mit jeweils einem Bild und einem optionalen Link-Feld.
Versuche ich nun im Backend die Slideshow zu übersetzen und trage auf der Seite der neuen Sprache bei einem Bild einen anderen
Link ein, wird dieser generell für alle Sprachen verwendet.
Wieso lässt sich das Link-Feld nicht übersetzen und wie löse ich das Problem?
Ich würde mich freuen, wenn mir jemand bei diesem letzten Problem weiterhelfen könnte...
Grüße, Axel
Lösung gefunden
am 04.09.2013 - 11:56 Uhr
Nach etwas Recherche habe ich einen Weg gefunden, die Slideshow mit Field collections für jede Sprache zu übersetzen
(inkl. Bildern und Links):