Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Probleme mit Views-Slideshow

Eingetragen von gutekunst (174)
am 23.03.2013 - 14:39 Uhr in
  • Views
  • Drupal 7.x oder neuer

Hi,

ich versuche eine kleine Slideshow mit Views zu machen die folgendes Darstellen soll:

1. Bild aus einem Inhalt
2. Exifdaten per php-script

Für die slideshow:

2x das Image-Felder hinzugefügt (eins für thumbs der slideshow und eines für die "normalen" slideshowbilder)

Dazu habe ich ein global-php-feld erstellt mit folgendem Output-code:

<?php

$image
= "http://www.xxx.de/sites/default/files/$row->filename";
$exif = exif_read_data($image, 0, true);
if (empty(
$exif['IFD0']['Model'])) {
    echo
"Kamera: Keine Angaben verfügbar";
}
hin
else { echo "Kamera: " . $exif['IFD0']['Model'] . "\n";
}
?>

Man sieht dass ich dafür den filename des Bildes brauche. Deshalb habe ich die Beziehung: Dateiverwendung: Datei hinzugefügt, um dann das Feld Datei: Dateiname hinzufügen zu können.

Hier mal eine Übersicht:

Die Slideshow und die Ausgabe des php-codes funktioniert soweit, das Problem ist aber, dass die Bilder der Slideshow doppelt oder mehrfach vorkommen. Sprich das gleiche Bild wiederholt sich erst 2 oder mehrere Male bis das Nächste kommt. Gibts da ne Möglichkeit das irgendwie so zu filtern, dass ein Bild der slideshow nicht mehrmals vorkommen darf?

hoffe mir kann jemand helfen!

LG

AnhangGröße
views-slideshow.JPG47.22 KB
‹ [Gelöst]Bildergalerie Übersichtseite mit Views als einheitliche Thumbnails anzeigen lassen Probleme mit Views-Slideshow ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das entsteht häufig durch die

Eingetragen von Goekmen (1013)
am 24.03.2013 - 15:31 Uhr

Das entsteht häufig durch die Beziehung (Dateiverwendung).
Eventuell mal die "Zusammenfassung" verwenden (unter ANDERE).

Ansonsten mal deine View "umkehren".
Praktisch deine Bilder als Ausgangsbasis nehmen und eine Beziehung zu Nodes erstellen.

Hast du pro Node mehrere Bilder hochgeladen?
Verstehe den BeitragsID Kontext nicht ganz.
Hast du eine dynamsiche Slideshow?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Goekmen schrieb Das entsteht

Eingetragen von gutekunst (174)
am 24.03.2013 - 16:11 Uhr
Goekmen schrieb

Das entsteht häufig durch die Beziehung (Dateiverwendung).
Eventuell mal die "Zusammenfassung" verwenden (unter ANDERE).

Ansonsten mal deine View "umkehren".
Praktisch deine Bilder als Ausgangsbasis nehmen und eine Beziehung zu Nodes erstellen.

Hast du pro Node mehrere Bilder hochgeladen?
Verstehe den BeitragsID Kontext nicht ganz.
Hast du eine dynamsiche Slideshow?

Hi,

wenn ich "Zusammenfasung" verwende, zeigt er leider gar keine Slideshow mehr an.
Die Umkehrung die du meinst versteh ich nicht so ganz, da ich ja schon meine Bilder (alle vom Image-Feld exif-slider) als Ausgangsbasis nehme und dann über den Kontextfilter Datei-ID nach jedem einzelnen Node filtere, so dass er nicht alle Bilder von diesem Image-Feld nimmt, sondern immer nur die des gerade aufgerufenen Node.

Das Prinzip ist so: ich hab einen Inhaltstyp erstellt und je Node von diesem Typ kann man über das Image-Feld (exif-slider) mehrere Bilder uploaden die dann als Slideshow angezeigt werden sollen.
Was genau ist eine dynamische slideshow? Ich verwende die ganz normale Views Slideshow und als pager-typ das jcarousel.

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Deine mehrfachen Ergebnisse

Eingetragen von Goekmen (1013)
am 24.03.2013 - 16:23 Uhr

Deine mehrfachen Ergebnisse entstehen durch das Mehrfachupload des Bildfeldes und der Beziehung.

Am besten pro Bild ein Node nehmen und die dann zu einer Slideshow verknüpfen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

gibts da wirklich keinen

Eingetragen von gutekunst (174)
am 24.03.2013 - 16:48 Uhr

gibts da wirklich keinen anderen Weg? Mein Ziel ist halt, dass ein User mehrere Bilder uploadet und diese dann als Slideshow dargestellt werden. Extra ein Node für jedes Bild anzulegen wäre da je sehr umständlich?!

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht gibt es einen

Eingetragen von Goekmen (1013)
am 24.03.2013 - 17:29 Uhr

Vielleicht gibt es einen anderen Weg, mir würde aber kein weiterer einfallen.

Eventuell auf Views verzichten und ein Slideshow Modul benutzen was Bilder innerhalb eines Nodes unterstützt.
Dort könntest du ja die Ausgabe auch selber verändern (Field Template des Bildfeldes überschreiben und deinen php Code ausführen).
Würde vermutlich sogar die Performance steigern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe auf deinen Rat gehört

Eingetragen von gutekunst (174)
am 25.03.2013 - 20:17 Uhr

Habe auf deinen Rat gehört und mir das Module Gallery formatter genommen, dies zeigt die Bilder eines images-felds als Slideshow.

Nun habe ich mir die .tpl Datei des Modules angeschaut und wollte meinen Code einfügen. Leider bin ich in php nicht gerade der Crack und anhand des .tpl Codes wird mir nicht klar wo ich den image path oder filename, des grade gezeigten Bildes herbekomme. Kannst du mir vielleicht helfen und einen Blick in die .tpl Datei werfen und mir sagen wie dort die image url oder image filename definiert sind, so dass ich sie mir ausgeben kann.

Ich hänge die Dateien des Modules mal an:

AnhangGröße
galleryformatter.zip 57.09 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich bin leider auch kein php

Eingetragen von Goekmen (1013)
am 25.03.2013 - 20:28 Uhr

Ich bin leider auch kein php Crack und beherrsche nur ein paar Basics.

Würde dir vorschlagen erst mal das eigentlich Bildfeld anzuschauen. Praktisch die Drupal field.tpl.php Vorlage und die overriden.

http://drupal.org/node/1089656

Zitat:

field--[type|name[--content-type]|content-type].tpl.php
base template: field.tpl.php

Theme hook suggestions are made based on these factors, listed from the most specific template to the least. Drupal will use the most specific template it finds:

field--field-name--content-type.tpl.php
field--content-type.tpl.php
field--field-name.tpl.php
field--field-type.tpl.php

Note that underscores in a Field's machine name are replaced by hyphens. Also remember to include "field-" in custom field names, e.g: field--field-phone.tpl.php.

Ansonsten kann man ein externes jQuery Gallery Plugin einsetzen und auf das Modul verzichten.
Dann sollte es einfach sein oder?

Eventuell hilft dir das auch weiter:
http://agerson.net/content/displaying-field-image-image-style-nodetplphp...
http://geeksandgod.com/forums/dynamic-website-forums/all-about-drupal/di...

  • Anmelden oder Registrieren um Kommentare zu schreiben

die slidehow funkioniert auch

Eingetragen von caw (2762)
am 26.03.2013 - 12:57 Uhr

die slidehow funkioniert auch mit mehren bildern. es gibts ein modul fürs feld slideshow field glaube ich. oder aber auch nivio slider
der kan die anzeige des feldes direkt als slideshow ausgeben

ansonsten geht auch über views; viewfield dann in die node nehmen, argumente übergeben, views slideshow oder nivio;

du mußt dein feld auf mehrfach setzen. dann werden auch alle bilder als slide angezeigt...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,wenn ich das image-field

Eingetragen von gutekunst (174)
am 26.03.2013 - 14:06 Uhr

Hi,

wenn ich das image-field umschreibe und daraus die image-url's nehme habe ich leider nichts gewonnen, da ich ja immer den Pfad für das aktuell in der Slideshow gezeigte Bild brauche, um die Exif-Information je Bild anzuzeigen.

Nehme ich ein anderes Plugin oder Module wie nivo slider müsste ich auch dort den code untersuchen wie da der jeweilige filename oder image-url definiert ist, daran scheitert es dann bei mir.

@Caw deinen Beitrag verstehe nicht nicht (bis auf die Empfehlung des nivo sliders :) ) Das die Slideshow mit mehreren Bildern funktioniert ist ja nicht mein Problem, das geht ja, nur leider wird ein und dasselbe Bild mehrmals angezeigt wenn ich views-slideshow verwende und die Bildquelle ein einzelnen image-feld ist.

Mit mehrmals meine ich

Slide 1 = Bild 1
Slide 2 = Bild 1
Slide 3 = Bild 1
Slide 4 = Bild 2
Slide 5 = Bild 2

usw.

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,Lösung:ich habs nun

Eingetragen von gutekunst (174)
am 27.03.2013 - 12:12 Uhr

Hallo,

Lösung:

ich habs nun doch mit Views-Slideshow hinbekommen! Soweit ich das beurteilen kann, lag es daran, dass ich sowohl die thumbs als auch die slider mit colorbox formatiert hatte. Und die dann zusammen (also doppelt) in der Colorbox-Galerie auftraten. Man kann aber thumbs und slider dann unterschiedlichen Colorbox galerien zuordnen (in den views einstellungen) dann vermeidet man dieses Problem.

Zudem musste ich die Beziehungen:

  • Inhaltsversion: Inhalt
  • (Den aktuellen Inhalt einer Version laden.) Inhalt: exif-slider:fid

verwenden.

Neues Problem:

Nun klappt alles soweit! Und die jeweiligen Exif-daten werden über ein global php feld unter der slideshow ausgegeben. Leider habe ich nun das Problem, dass wenn ich unterschiedlich hohe Bilder verwende, dieser Block hoch und runter springt. Ich möchte diesen Block aber rechts von der slideshow platzieren und er soll nicht dauernd je nach Bild hoch oder runter springen. Habs mit css -> position: absolut versucht. Aber er springt trotzdem weiter rum... Wie kann ich das lösen??

Ansatz:

es scheint der Block: .slideshow-group-fields-wrapper muss geändert werden. Wie bekomme ich allerdings eine extra css klasse für diesen Block hin, damit sich nicht alle anderen slideshows auch ändern?

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du musst mehrere CSS Werte

Eingetragen von Goekmen (1013)
am 27.03.2013 - 12:10 Uhr

Du musst mehrere CSS Werte anpassen.
Ich rate jetzt mal ohne den Code zu kennen:
Am besten den ganzen SlideContainer auf position relativ setzen und dann den Container der die EXIF Daten hält auf position absolute.
Eventuell auch beiden einen z-index verpassen (EXIF Container eins höher setzen)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ansatz:es scheint der Block:

Eingetragen von gutekunst (174)
am 27.03.2013 - 12:15 Uhr

Ansatz:

es scheint der Block: .slideshow-group-fields-wrapper muss geändert werden. Wenn ich am Global-php-block rummache (css technisch :-)) bringt das nichts da dieser im genannten block liegt.

Wie bekomme ich allerdings eine extra css klasse für diesen Block hin?, damit sich nicht alle anderen slideshows auch ändern...

Bei Felder -> Einstellungen kann ich ja nur wählen --> "Provide default field wrapper elements " aber keine custom css klassen hinzufügen :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Denke nicht dass du mehr

Eingetragen von Goekmen (1013)
am 27.03.2013 - 12:16 Uhr

Denke nicht dass du mehr Klassen brauchst.
Schick mir mal per PN einen Link. Dann kann ich dir genau sagen was du machen musst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ALLES ENTFERNEN BEI DEN

Eingetragen von Goekmen (1013)
am 27.03.2013 - 13:33 Uhr

ALLES ENTFERNEN BEI DEN BEIDEN KLASSEN / ID:

.bildinfo-text2,
#bildinfo-text2 {
}

UND DAS ÄNDERN
.slideshow-group-fields-wrapper {
background: none;
height: 65px;
position: absolute;
right: -263px;
top: 77px;
width: 154px;
}

Du müsstest mal dein Template "aufräumen". Da sind viele unnötig absolt positionierte Elemente die das Layout durcheinander bringen könnten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Goekmen schrieb ALLES

Eingetragen von gutekunst (174)
am 27.03.2013 - 13:38 Uhr
Goekmen schrieb

ALLES ENTFERNEN BEI DEN BEIDEN KLASSEN / ID:

.bildinfo-text2,
#bildinfo-text2 {
}

UND DAS ÄNDERN
.slideshow-group-fields-wrapper {
background: none;
height: 65px;
position: absolute;
right: -263px;
top: 77px;
width: 154px;
}

Du müsstest mal dein Template "aufräumen". Da sind viele unnötig absolt positionierte Elemente die das Layout durcheinander bringen könnten.

Aber ändert das nicht auch alle anderen Slideshows die ich auch der website habe? Deswegen dachte ich, dass ich einen für diese slideshow spezifischen ".slideshow-group-fields-wrapper" brauche, nur weiß ich nicht wie ich für den ne custom css klasse erstellen kann.

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

du kannst doch im view eine

Eingetragen von caw (2762)
am 27.03.2013 - 14:04 Uhr

du kannst doch im view eine klasse eingeben.
außerdem hast du doch pro view soweiso eine einduetige id

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klick in Views auf der

Eingetragen von Goekmen (1013)
am 27.03.2013 - 13:52 Uhr

Klick in Views auf der rechten Seite auf "Theme Informationen". Such das verwendete Template aus dem Views Module Verzeichnis raus und kopiere es in dein Theme Verzeichnis mit einem Namen der die Views vorschlägt.
SO etwas wie views-view--deinegalerie.tpl.php
Dann öffne das Template und füge eine neue Klasse hinzu und lade das neue Template hoch und lösch den Cache.
Danach gehst du wieder in Views und schaust dir die Theme Informationen und klickst auf Vorlagen neu einlesen. Dein neues Template müsste jetzt fett geschrieben sein.
Wenn das passiert, wird dein eigenes Views Template verwendet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

caw schrieb du kannst ein

Eingetragen von gutekunst (174)
am 27.03.2013 - 14:02 Uhr
caw schrieb

du kannst ein klasse im view vergeben.

aber nicht für den .slideshow-group-fields-wrapper ...oder?

@goekmen

super! Vielen vielen Dank!! Werde das gleich mal testen!

  • Anmelden oder Registrieren um Kommentare zu schreiben

lolhonk schrieb caw

Eingetragen von caw (2762)
am 27.03.2013 - 14:17 Uhr
lolhonk schrieb
caw schrieb

du kannst ein klasse im view vergeben.

aber nicht für den .slideshow-group-fields-wrapper ...oder?

@goekmen

super! Vielen vielen Dank!! Werde das gleich mal testen!

in jedem view kannst du eine css klasse eingeben

  • Anmelden oder Registrieren um Kommentare zu schreiben

caw schrieb lolhonk

Eingetragen von gutekunst (174)
am 27.03.2013 - 14:35 Uhr
caw schrieb
lolhonk schrieb
caw schrieb

du kannst ein klasse im view vergeben.

aber nicht für den .slideshow-group-fields-wrapper ...oder?

@goekmen

super! Vielen vielen Dank!! Werde das gleich mal testen!

in jedem view kannst du eine css klasse eingeben

du meinst unter --> erweitert -->andere-->CSS-Klasse?

dort habe ich "exif-slider" eingegeben. wie lautet dann mein ".slideshow-group-fields-wrapper"?

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

@cawkannst du mir nochmals

Eingetragen von gutekunst (174)
am 28.03.2013 - 15:58 Uhr

@caw

kannst du mir nochmals weiterhelfen wie ich über die css-klassen zur Lösung komme? Denn wenn ich .slideshow-group.fields-wrapper ändere, dann ändert dies auch meine anderen slideshows Z.b. auf meiner Startseite...

ansonnsten bin ich gerade dabei eine custom template zu erstellen so wie es Goekmen vorgeschlagen hat, mal sehn ob ich das hinbekomme

Update: leider weiß ich nicht an welche Stelle ich in diese .tpl Dateien meine css-klasse hinzufügen soll. Denn ich finde da keinen code der mir diesen ".slideshow-group-fields-wrapper" definiert bzw. erzeugt.

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn du dir nicht sicher

Eingetragen von Goekmen (1013)
am 28.03.2013 - 16:26 Uhr

Wenn du dir nicht sicher bist, dann pack ein DIV mit deiner Klasse um alles und lass den restlichen Code stehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Goekmen schrieb Wenn du dir

Eingetragen von gutekunst (174)
am 28.03.2013 - 17:13 Uhr
Goekmen schrieb

Wenn du dir nicht sicher bist, dann pack ein DIV mit deiner Klasse um alles und lass den restlichen Code stehen.

aber der doofe ".slideshow-group-fields-wrapper" bleibt damit ja dann trotzdem gleich und ändert sich bei jeder anderen slideshow mit :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich kann dir ehrlich gesagt

Eingetragen von Goekmen (1013)
am 28.03.2013 - 17:22 Uhr

Ich kann dir ehrlich gesagt nicht mehr folgen.
Du musst die richtige Vorlage im Views Template Ordner ausfindig machen und dann diese in dein Theme Verzeichnis kopieren und den Namen überschreiben.
Der genau Name wird in Views angezeigt.
Dann wird deine Vorlage für die Slideshow verwendet. Nur dieses View wird dann überschrieben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Guck dir mal das Video

Eingetragen von Goekmen (1013)
am 28.03.2013 - 17:28 Uhr

Guck dir mal das Video an:
http://www.youtube.com/watch?v=1Cfc11_sb5M

Minute: 8:40

  • Anmelden oder Registrieren um Kommentare zu schreiben

Goekmen schrieb Ich kann dir

Eingetragen von gutekunst (174)
am 28.03.2013 - 19:24 Uhr
Goekmen schrieb

Ich kann dir ehrlich gesagt nicht mehr folgen.
Du musst die richtige Vorlage im Views Template Ordner ausfindig machen und dann diese in dein Theme Verzeichnis kopieren und den Namen überschreiben.
Der genau Name wird in Views angezeigt.
Dann wird deine Vorlage für die Slideshow verwendet. Nur dieses View wird dann überschrieben.

ja genau das hab ich auch gemacht. Doch das Problem ist ja, jetzt lädt er zwar ein anders template aber dies gibt ja den gleichen inhalt aus, sprich der wrapper in dem die view-felder der slideshow ausgegeben werden, also der (.slideshow-group-fields-wrapper) wird ja trotzdem mit diesem name erzeugt und wenn ich da was am css ändere, ändert dies auch meine slideshow auf der Startseite. (Oder hab ich da nen kompletten Denkfehler?!)

ich müsste jetzt quasi rausfinden welcher code dafür verantwortlich ist und dann im template diesen so ändern, dass ".slideshow-group-fields-wrapper" z.B. dann als ".slideshow-group-fields-wrapper-meine-slideshow" erzeugt wird. Aber leider fehlts mir da am php-Kenntnis d.h. ich werd aus dem code in den templates nicht schlau...

wenn ich jetzt das view-template des "global-php-felds" nehme, (das mir ja die exif-infos über die slideshow-images ausgibt) und um den Code ein neues div lege, so ist dieser div-block ja dann trotzdem innerhalb des .slideshow-group-fields-wrapper und dieser doofe block springt ja je nach größe des Bildes rum, d.h. mein erzeuger neuer div wird auch weiter rumspringen...

Ich finde halt leider nicht in diesen ganzen Templates den Code der diesen .slideshow-group-fields-wrapper erzeugt.... :-(

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 21 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 3 Wochen 5 Tagen
  • In der entsprechenden View
    vor 3 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 5 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association