Bild und Bilderliste im Node anzeigen

am 26.10.2011 - 18:30 Uhr in
Hey zusammen,
als Neueinsteiger bin ich noch nicht so firm mit der Drupalmaterie und bei meinen Recherchen auf allerhand Möglichkeiten gestossen aber auf keine Lösung. Hoffe hier weiss wer Rat. Ich arbeite mit den Modulen Panels, Views und Chaos Tools und wollt gern auf ein zusätzliches Galerie-Modul verzichten.
Meine generelle Frage: Ist es in Drupal überhaupt möglich in einem Node eine anklickbare Bilderliste, die das jeweilige Bild in gross anzeigt umzusetzen?
Den Node hab ich mit Panels verändert und die Bilderliste mit Views und den Contextual filters umgesetzt. Nun fehlt nur noch das große Bild und hatte gehofft dieses mittels fid in einem extra Views ansprechen und anzeigen zu können ... oder bin ich auf dem Holzweg?
Würde mich übr jegliche Hilfe / Denkanstösse freuen. Danke im Voaus!
Der Marshell
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Marshell, willkommen im
am 26.10.2011 - 18:44 Uhr
Hallo Marshell,
willkommen im DC.
Meinst du etwa so was wie http://drupal.org/project/lightbox2 ??
Sepp
Hey Sepp, danke für deine
am 26.10.2011 - 19:04 Uhr
Hey Sepp,
danke für deine schnelle Antwort.
Auf Lightbox, Colorbox usw bin ich schon gestossen, aber ich hatte gehofft es ohne ein extra Modul umsetzen zu können. Im Tutorialdschungel bin ich auf einige Lösungsansätze aufmerksam geworden, bei denen man die Bilder direkt ansprechen kann. Nur die Fülle an Informationen und mein Drupalwissen finden da nicht zueinander...
Also entweder, du verlinkst
am 26.10.2011 - 19:31 Uhr
Also entweder, du verlinkst direkt auf das Bild - was ziemlich doof ist, da dann nur noch das Bild angezeigt wird - oder du öffnest das Bild im Großformat auf der aktuellen Seite. Letzteres wirst du wohl nur mit Javascript ordentlich umsetzen können. Und da bieten sie solche etablierten Module an. Wie sonst willst du das Bild denn öffnen? Unter "Die Bilder direkt ansprechen" kann man sich recht wenig vorstellen.
Nun wie gesagt mein
am 26.10.2011 - 20:02 Uhr
Nun wie gesagt mein Drupalwissen ist frisch und nicht gerade umfangreich. Aber ... wenn es die Möglichkeit gibt die Node: Image-ID unter Panels/Context ausgeben zu lassen, warum soll dann Views diese nicht unter contextual-filters: Inhalt:Image-fid auslesen können?
Aber wie willst du der View
am 26.10.2011 - 20:20 Uhr
Aber wie willst du der View oder Panels mitteilen, dass sich die ID ändert, wenn du auf eines der Bilder klickst?
Ist es denn nicht möglich
am 26.10.2011 - 21:18 Uhr
Ist es denn nicht möglich beim Anklicken auf genau diese Bild-ID und dem derzeitigen Content zu verweisen? Der Rest bleibt ja wie gehabt.
Kommt drauf an. Wenn du einen
am 26.10.2011 - 22:04 Uhr
Kommt drauf an. Wenn du einen kompletten Page-Reload in Kauf nimmst, dürfte das mit View-Argumenten gehen, denke ich mal.
Wenn du aber das Bild gleich auswechseln willst, ohne die Seite neu aufzurufen, brauchst du Javascript und damit vermutlich ein neues Modul.
Ein Page-Reload wär völlig
am 26.10.2011 - 22:42 Uhr
Ein Page-Reload wär völlig ok, das dürfte bei 3-5 Bildern pro Artikel (gefühlt) genauso lange dauern wie der Aufbau des Popups bei den Javamodulen. Nur ... jetzt kommts! ... ich habs noch nicht so umsetzen können. Ich versuch mal meinen Aufbau zu schildern:
"Gallery-View" (alle Bilder eines Artikel)
Fields: Inhalt:Image
Contextual-filters: Node-ID
"Image-View" (Grosses Bild)
Fields: Inhalt:Image
Contextual-filters: Image:fid
Node-Panel:
Context / Relationships: Datei from Node (on Node: Image)
Inhalt / Pane: View:Image-View / Einstellungen: Inhalt:Nid: Datei:ID
Inhalt / Pane: View:Image-Gallery / Einstellungen: Inhalt:Nid: no context
Im jeweiligen Pane werden aber beide Bilder des Artikels angeziegt.
Denke mal es ist schwer sich da rein zu versetzen, aber vllt weisst du einen Link oder ein Tutorial das mich etwas weiter bringt.
Hallo Marshell, ich klink
am 27.10.2011 - 07:15 Uhr
Hallo Marshell,
ich klink mich nochmal ein:
wie machst du denn deine Bilder "klein" bzw. "gross" ?
Sepp
Moin moin! Unter Module das
am 27.10.2011 - 09:27 Uhr
Moin moin!
Unter Module das Image-Modul aktivieren. Die Bildtypen kannst du unter Konfiguration / Medien nachträglich anpassen, oder neue erstellen.
Nun im angelegten Views unter Anzeige / Fields das "Image" anklicken und den Bildtyp auswählen, oder direkt im Inhaltstyp in dem angelegten image_field unter "Anzeige verwalten" die Art der Bilddarstellung ändern.
Grüsse M
Damit kann er dann
am 27.10.2011 - 10:46 Uhr
Damit kann er dann Image-Presets erstellen, bringt ihm aber für das eigentliche Problem, das Bild per Klick zu wechseln, wenig, oder?
Edit: Hoppla, war ja vom Fragensteller, dachte das wäre ein Vorschlag von jemand anders.
Leider bin ich in Drupal7
am 27.10.2011 - 11:29 Uhr
Leider bin ich in Drupal7 nicht so fit, aber die URLs der beiden Bilder (klein und gross) unterscheiden sich ja nur durch den Pfad "klein" und "gross" wie beim D6-Modul imagecache.
Da müsste man doch für das kleine Bild-Feld in views eine modifizierte HTML-Ausgabe machen können.
Sepp
D6 kenn ich leider gar nicht,
am 27.10.2011 - 23:19 Uhr
D6 kenn ich leider gar nicht, bin erst frisch mit d7 vor ein paar Wochen eingestiegen.
Ja da grübel ich auch schon nach. Die Fid kann man von Views auslesen lassen, aber wo bekommt es die her. Unter den Anzeige / Field / Image Einstellungen im View kann man nur den Inhalt oder den direkten Link zur Datei angeben ... aber das mit dem View, daß das grosse Bild anzeigen soll zu verbinden hab ich bis jetzt noch nicht geschafft ... weiss keiner Rat?
Übrigens im View kann man auch Ajax aktivieren, so daß nicht die komplette Seite neu geladen werden muss.
Ich habe leider bisher auch
am 27.10.2011 - 23:24 Uhr
Ich habe leider bisher auch kaum mit D7 gearbeitet, daher eine kleine Bitte:
Erläutere mal eben, wie die View das große Bild darstellt. Bekommt sie eine Image-ID (fid) und anhand dieser wird das große Bild angezeigt?
Übrigens im View kann man auch Ajax aktivieren, so daß nicht die komplette Seite neu geladen werden muss.
Das geht für exposed Filters usw. Ob du das für deine Belange einsetzen kannst, steht noch aus.
Ok, ich versuch es mal zu
am 29.10.2011 - 14:39 Uhr
Ok, ich versuch es mal zu beschreiben. Bei dieser Einstellung werden beide Bilder aus dem Artikel in groß angezeigt:
Gallery-View:
- Anzeige / Fields
-> Inahlt: Image
- --> Darstellung: thumbnail
- --> Bild verlinken mit: Inhalt
- --> Rewrite results: Output this field as a link
- --> Link path: field_image-fid (muss hier die eckige klammer rum? [field_image-fid])
- Contextual filters:
-> Inhalt: Nid
Image-View:
- Anzeige / Fields
-> Inhalt: Image
- --> Darstellung: large
- Contextual filters
-> Inhalt: Nid
-> Inhalt: Image:fid
Diese beiden Views werden dann im node-panel geladen. .
Hast du mal einen Link, wo
am 29.10.2011 - 15:08 Uhr
Hast du mal einen Link, wo man sich das anschauen kann?
Hab das leider noch auf
am 29.10.2011 - 19:25 Uhr
Hab das leider noch auf meinem Rechner mit Xampp laufen. Mal schauen ob ich das die nächsten Tage online bekomme ...
Vorab ein paar Screens, vllt hilft das auch:
Ansicht: Gallery-View
http://www.marshellarts.de/drupal/views-gallery-display.jpg
Ansicht: Einstellungen vom Field: Image
http://www.marshellarts.de/drupal/views-gallery-image.jpg
Ansicht: Gallery-Image
http://www.marshellarts.de/drupal/views-image-display.jpg
Ansicht: Einstellungen Contextual filter
http://www.marshellarts.de/drupal/views-image-contextual.jpg
Grüsse M
Hallo M, im Bild
am 29.10.2011 - 21:45 Uhr
Hallo M,
im Bild views-gallery-image.jpg
rewrite the output of this field aktiveren und dann bei link path eingeben:
[field_image]
dann müsstest du einen Link auf das Original-Bild bekommen.
Sepp
Dann wird allerdings nur das
am 29.10.2011 - 22:36 Uhr
Dann wird allerdings nur das Bild angezeigt, die Bilder-Leiste darunter hast du dann nicht mehr. Aber eigentlich müsstest du doch auf die Seite mit dem View verlinken können und die gewünschte Bild-ID als Argument (oder Contextual Filter, wie die Argumente in D7 heißen) übergeben und anzeigen.
Hey Sepp, das funktioniert
am 01.11.2011 - 21:32 Uhr
Hey Sepp,
das funktioniert soweit ganz gut. hab den link path mit node/!1/[field_image-fid] erweitert (das Bild darf nicht verlinkt sein, sonst funktioniert Rewrite results nicht):
Jetzt bekomm ich zum Beispiel für den node 6 die jeweilige Bild URL, aber natürlich kann das 2. view das noch nicht lesen ... wär ja auch zu schön! Mal ein paar Verständnisfragen:
1. Muss ich in dem Panel in dem die beiden Views liegen unter Einstellungen ein haken rein bei "send Arguments"?
2. Muss ich auch im Panel angeben welchen Context ich nutze? Hab das auf Inhalt:Image(field_image-fid) Datei-ID eingestellt
3. Sollte ich das View einfach so belassen, oder auf Context, oder Content Pane im Display erweitern?
...
So dala! Es klappt ....
am 09.11.2011 - 22:28 Uhr
So dala! Es klappt .... endlich!
Nach dem Update auf drupal 7.9 werden die token richtig ausgelesen und auch das Image korrekt angesprochen. Da ich mehrfach auf ähnliche Anfragen gestossen bin mal ein kleines Tut mit den wichtigsten Punkten:
- im Inahltstyp ein Bildfeld anlegen
- den Wert dann zum Panel weitergeben unter Contexts / Relationships: Datei from Node (on Node:Image)
- 2 Views erstellen jeweils mit 2 Fields: Inhalts:Nid (wichtig für die Token) und Inhalts:Image
- 1. View die aufgelisteten Bilder ( Gallery-View )
In dem View noch ein Contextual filter Inhalt:Nid erstellen und auf hide view stellen.
Die Anzeige der Bilder auf thumbnail stellen und das Bild mit nichts verlinken. Nun die Rewrite results überarbeiten, ein Haken in Output this field as a link und die token aus den replacement patterns nehmen. Bsp: node/[nid]/[field_image-fid]
- das 2. View: die einzelnen Bilder (Image-View)
Hier den Contextual filter Inhalt:Imge:fid erstellen. Für das Auslesen der URL den Filter unter Provide default value auf Raw value from URL stellen. Um den letzten Wert den wir unter rewrite result ausgeben lesen zu können, wird path component auf 3 gestellt.
- nun die beiden Views im Panel einfügen und fertig
Bei den Einstellungen im jeweiligen Pane bin ich mir nicht sicher, aber die beiden Einstellungen hab ich noch hinzugefügt.
- im Gallery-View: unter Inhalt-Nid den Kontext Inhalts-ID
- Image-View: Inhalt:Image(field_image-fid) auf no context
Edit In View-Gallery noch den Haken bei Multiple field settings
entfernen, da sie sonst gruppiert werden.
Ein Leitfaden, der sehr geholfen hat:
http://wdtutorials.com/drupal7/52
http://www.wdtutorials.com/drupal7/46
und
http://nodeone.se/blogg/taming-the-beast-learn-views-with-nodeone
Schreibe das Tutorial doch
am 07.11.2011 - 13:51 Uhr
Schreibe das Tutorial doch ins Drupalcenter-Handbuch :-)
Mach ich gerne, sobald es
am 09.11.2011 - 14:52 Uhr
Mach ich gerne, sobald es eine runde Sache ist ;) Im Moment werden neu hochgeladene Bilder nicht angezeigt, trotz cache leeren ... es bleibt spannend!