Author Topic: Modulkonflikt OneForAll und Foldergallery  (Read 744 times)

Offline astricia

  • Posts: 578
  • Gender: Female
    • netSchmiede24
Modulkonflikt OneForAll und Foldergallery
« on: June 23, 2017, 11:11:25 AM »
Da hab ich jetzt den halben Morgen mit vertrödelt um rauszufinden, woran es lag... Eine Website (WB 2.10.0) mit neuer Foldergallery (2.1.0) funktionierte bis heute morgen einwandfrei. Dann habe ich das Modul OneForAll installiert, weil ich es in einem Abschnitt brauchte und stellte fest, dass die Foldergallery, wenn ich sie auf der Website öffnete, plötzlich andere Bereiche der Website überlagerte. Der Wrapper umfasste also nicht mehr den gesamten Bereich.

Schließlich festgestellt, dass es an der Einstellung "#lightbox{position:absolute; ..." in der frontend.css von OneForAll lag. Es gibt hier also einen Konflikt mit der Foldergallery (sofern man dort "jqueryFancybox" in den Allgemeinen Einstellungen festgelegt hat - bei "responsiveLightbox" trat der Effekt nicht auf, aber ich wollte halt die Fancybox... .

Etwas blöd, wenn Klassen so allgemein benannt sind, dass sie in mehreren Modulen zum Tragen kommen.... Da ich die Lightbox jetzt in der OneForAll nicht brauche, habe ich den entsprechenden Eintrag in der frontend.css deaktiviert. Aber falls doch, hätte ich ein Problem.

LG,
Astrid

Offline hgs

  • Betatester
  • **
  • Posts: 1068
    • EFG MG
Re: Modulkonflikt OneForAll und Foldergallery
« Reply #1 on: June 24, 2017, 10:11:42 AM »
 (Y) Danke für den Hinwies.
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

Offline dbs

  • Betatester
  • **
  • Posts: 7792
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Modulkonflikt OneForAll und Foldergallery
« Reply #2 on: June 24, 2017, 11:34:53 AM »
Soweit ich das sehe ist in der view_jqueryFancybox .htt die id lightbox vergeben.
Warum ist unklar da sie im CSS oder JS der Fancybox nicht verwendet wird und auch in den anderen Lightboxen nicht steht.
Also einfach löschen und schon sollte alles gut sein.

modules/foldergallery/templates/default/view_jqueryFancybox.htt Zeile 137
statt
Code: [Select]
<ul class="photostyle" id="lightbox">dann
Code: [Select]
<ul class="photostyle">

Offline jacobi22

  • Posts: 5689
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Modulkonflikt OneForAll und Foldergallery
« Reply #3 on: June 24, 2017, 12:03:05 PM »
mit Verlaub, das Problem, das bei der Verwendung mehrere Lightboxen auf einer gemeinsamen Seite Konflikte auftreten, ist so alt wie die Erfindung solcher Lightboxen selbst. In aller Regel handelt es sich auch um Third-Party-Products, also Sachen, die von Fremdherstellern und unabhängig von WB erstellt wurden. Und bei solchen Sachen besteht auch immer die Möglichkeit, sich über das Internet die jeweils neueste Version dieses Effekts zu holen und genau aus diesem Grund bleiben solch Third-Party-Produkte in aller Regel auch im Original-Code erhalten. Ein anderes gutes Beispiel dafür ist z.B. der CKEditor mit seinen Plugins. Ein Fehler, wie er seit geraumer Zeit z.b. im Youtube-Plugin vorhanden ist, läßt sich nur vom Hersteller reparieren oder man macht eben seine eigene Version unter neuen Namen, die auch nicht durch ein Upgrade, das jeder in Minutenschnelle machen könnte, überschrieben wird. Es ist also immer ein Balanceakt der Entwickler. Man kann versuchen, durch ein eigenes Plugin solch Konflikte auszuschließen, nimmt damit aber die Möglichkeit, selbst zu aktualisieren. So oder so wird sich irgendwann wieder jemand finden, der es genau anders herum hätte  :|

Quote from: dbs
Soweit ich das sehe ist in der view_jqueryFancybox .htt die id lightbox vergeben.
Warum ist unklar da sie im CSS oder JS der Fancybox nicht verwendet wird und auch in den anderen Lightboxen nicht steht.

ganz einfach... diese ID ist schon seit Anbeginn Bestandteil des Codes der fancybox-Templates und hätte man es einfach so entfernt, hätte jetzt wohl jemand anders gefragt, warum das entfernt wurde, weil er sich auf Basis die ID vielleicht selbst etwas angepasst hatte, z.b. wenn man zwei solcher Sectionen hintereinander verwenden möchte. Diese Methode hatte ich in mehreren How-To's schon vor Jahren beschrieben. Bekanntes Problem ist z.B., das bei mehrfacher Verwendung in der einen Lightbox die Steuerung der zweiten übernommen werden kann, was mit einer eindeutigen ID verhindert werden kann.
 
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline astricia

  • Posts: 578
  • Gender: Female
    • netSchmiede24
Re: Modulkonflikt OneForAll und Foldergallery
« Reply #4 on: June 26, 2017, 09:48:29 AM »
Nun ja, aber ich wollte ja gar keine zweite Lightbox mit dem OFA-Modul verwenden. Grundsätzlich wäre es halt gut, wenn bei der Modulprogrammierung darauf geachtet würde, Klassen so zu benennen, dass es unwahrscheinlich ist, dass Konflikte von Modulen untereinander auftreten. Also z.B. #ofa_lightbox und #fg_lightbox. Ist glaube ich bei Wordpress-Plugins absolut üblich...

LG,
Astrid

Offline jacobi22

  • Posts: 5689
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Modulkonflikt OneForAll und Foldergallery
« Reply #5 on: June 26, 2017, 11:02:22 AM »
Quote
Also z.B. #ofa_lightbox und #fg_lightbox. Ist glaube ich bei Wordpress-Plugins absolut üblich...

so steht es auch seit vielen Jahren in den Modulvorgaben und wird in aller Regel auch so umgesetzt. Nur funktioniert dann eben ein Third-Party-Produkt nicht mehr
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 2993
  • Gender: Female
Re: Modulkonflikt OneForAll und Foldergallery
« Reply #6 on: June 26, 2017, 01:19:04 PM »
wie Uwe sagte... so steht es seit über 10 Jahren in den Standards..
Allerdings können bei z.B. OFA die Standards nicht greifen, da sich dieses über sämtliche Vorgaben hinwegsetzt.
Da es für jede neue Seite - Section - Instanz als neues Modul kopiert und umbenannt werden muss, müssten z.B. auch sämtliche Präfixes der CSS-Klassen/-ID's auf den jeweils neuen Modulnamen geändert werden.
Normalerweise sollten Module so aufgebaut werden, dass von einer einzigen Installation beliebig viele unterschiedlich konfigurierbare Instanzen erzeugt werden können. Bei den meisten funktioniert das einwandfrei und wäre auch bei OFA relativ einfach und vor allem wesentlich benutzerfreundliche r zu realisieren.
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf ihnen Hirn vom Himmel !