Contao-Camp 2024
Ergebnis 1 bis 29 von 29

Thema: Lightbox-Fehler in Rocksolid (Inhalts-)Slider (falsche Lightbox wird geladen)

  1. #1
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard Lightbox-Fehler in Rocksolid (Inhalts-)Slider (falsche Lightbox wird geladen)

    Hallo liebe Community,

    habe mal wieder ein Problem dessen Lösung ich einfach nicht finde :/

    Habe den Rocksolid mit Inhaltsslider auf der Startseite und dort Aktuelle News per Nachrichtenliste zum durchklicken.

    In den News soll per Text-Link eine Light-box geöffnet werden, was auch bei dem ersten Nachrichtenblog noch funktioniert.

    Allerdings wenn ich dann zum vorigen Nachrichtenblog slide, dann den Link öffne stürzt die Lightbox beim laden ab und zeigt den gewünschten Inhalt nicht an, sondern lädt nur mit schwarzem Hintergrund kurz und bricht dann ab! Es hatte aber schon ab und zu mal doch geklappt. Dann aber vermehrt wieder nicht.

    Im Seitenlayout ist die j_colorbox ist aktiviert und die moo_slimbox und mediabox ist abgeschaltet. Habe es dann auch mal wahlweise mit den mootools probiert, jedoch ändert das alles nichts.

    Verträgt sich der Rocksolid nicht mit der Lightbox?

    Hat jemand eine Idee woran das liegt?
    Geändert von ben_cms (13.10.2017 um 19:32 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Mh nun nochmal den Quelltext genauer angeschaut. Da hatte ich wohl doch die media box mit der jquery gleichzetig an. Verstehe trotzdem nicht wieso der Rocksolid-Slider im 2. Blog plötzlich die andere Lightbox verwenden will bzw. wenn ich nur die mediabox an habe, lädt er die Seite, aber nicht als Popup.

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Da möchte ich nur mit Link zum Problem helfen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4

  5. #5
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn ich den Code richtig interpretiere, dann hat der Slider dem Problem schon vorgebeugt, allerdings nur für die Colorbox
    PHP-Code:
    // Fix missing lightbox links
    $(function() {
      if(!$.
    fn.colorbox) {
        return;
      }
      var 
    lightboxConfig = {
        
    loopfalse,
        
    rel: function() {
          return $(
    this).attr('data-lightbox');
        },
        
    maxWidth'95%',
        
    maxHeight'95%'
      
    };
      var 
    update = function(links) {
        
    links.colorbox(lightboxConfig);
      };
      
    slider.on('rsts-slidestart rsts-slidestop', function(event) {
        
    update(slider.find('a[data-lightbox]'));
      });
      
    update(slider.find('a[data-lightbox]'));
    }); 
    Außerdem wird die Konfiguration nochmal aufgesetzt. Hier die Konfiguration aus dem Core-Template https://github.com/contao/core/blob/....html5#L14-L18

    Da du aber keine Bilder, sondern Seiten in der Box öffnen möchtest, fehlen noch die Optionen
    PHP-Code:
    iframetrue,
    width'42%',
    height'42%' 
    Also selbst, wenn du dein j_colorbox mit diesen Optionen erweiterst, hast du es noch nicht in dem Slider. Du musst also Templates anpassen.

    Außerdem brauchst du noch ne Fallunterscheidung, damit z.B. nur HREFs mit ".html" am Ende als Iframe gezeigt werden.
    PHP-Code:
    <script>
      (function($) {
        $(
    document).ready(function() {
          $(
    'a[data-lightbox]').map(function() {

            var 
    isIFrame = $(this).attr('href').split('.').pop() == 'html' true false;

            $(
    this).colorbox({
              
    // Put custom options here
              
    loopfalse,
              
    rel: $(this).attr('data-lightbox'),
              
    maxWidth'95%',
              
    maxHeight'95%',

              
    iframeisIFrame,
              
    widthisIFrame '60%' false,
              
    heightisIFrame '70%' false

            
    });
          });
        });
      })(
    jQuery);
    </script> 
    ps

    • Entscheide dich am besten für eine Bibliothek (weil die Colorbox besser ist als die Mediabox, würde ich jQuery nehmen, die meisten Plugins erfordern auch jQuery).
    • Lade nur Scripts (j_-Templates) die du auch benötigst.
    • Dein HTML hat 33 Fehler.
    • Warum hast du 2 zusammengefasste JS-Dateien aus assets/js/?
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  6. #6
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Danke für die Antwort.
    Habe jetzt deine Codes in das j_colorbox-template ergänzt...aber eigentlich bin ich eher auf die Mediabox fixiert.
    Du schreibst ich müsste das Template für den Slider anpassen, dass die Lightbox dann auch im 2. Blog geöffnet wird.
    Das ist ja eigentlich meine Frage, wie ich da was anpassen muss, damit das funktioniert?!
    Allerdings wenn Jquery deiner Meinung nach besser ist, werd ich das jetzt alternativ nutzen und anpassen.

    Die anderen Sachen die du ansprichst kommen von einem anderen Template dass ich übernommen habe und quasi umschreibe.
    werd das noch alles aufräumen. Danke für den Hinweis!
    Geändert von ben_cms (13.10.2017 um 11:17 Uhr)

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Jquery ist nicht besser, es ist nur besser, wenn du es anstatt MooTools in deiner Website benutzt, aus genannten Gründen. Ich liebe MooTools

    So in etwa könnte dieses Script im Slider-Template aussehen (ungetestet) (getestet)
    PHP-Code:
    // Fix missing lightbox links
    $(function() {
      if (!$.
    fn.colorbox) {
        return;
      }

      var 
    lightboxConfig = {
        
    loopfalse,
        
    rel: function() {
          return $(
    this).attr('data-lightbox');
        },
        
    maxWidth'95%',
        
    maxHeight'95%'
      
    };
      var 
    lightboxConfigIframe = {
        
    loopfalse,
        
    rel: function() {
          return $(
    this).attr('data-lightbox');
        },
        
    iframetrue,
        
    width'60%',
        
    height'70%'
      
    };
      var 
    update = function(links) {
        
    links.colorbox(lightboxConfig);
      };
      var 
    updateIframe = function(links) {
        
    links.colorbox(lightboxConfigIframe);
      };
      
    slider.on('rsts-slidestart rsts-slidestop', function(event) {
        
    update(slider.find('a[data-lightbox]').not('[href$=".html"]'));
        
    updateIframe(slider.find('a[data-lightbox][href$=".html"]'));
      });
      
    update(slider.find('a[data-lightbox]').not('[href$=".html"]'));
      
    updateIframe(slider.find('a[data-lightbox][href$=".html"]'));
    }); 
    Ich habe gerade keine Zeit dies auszuarbeiten. Wenn, dann müsstest du es als Auftrag vergeben. Oder man hilft dir hier weiter, nachdem du die Seite mit deinen Versuchen aktualisierst und zeigst.
    Geändert von Andreas (15.10.2017 um 18:32 Uhr) Grund: Getestet und korrigiert - bei not() haben Ausführungszeichen gefehlt
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Ok, danke erstmal! Leider hat das alles bisher nicht geholfen. Ich werde auf den Popup im Content-Slider wohl verzichten müssen.
    Egal für welche art von Lightbox ich mich entscheide bekomme ich Probleme.
    Wenn ich Jquery benutze, werden die Links "Diskografie" plötzlich als Seite geöffnet.
    Wenn jemand noch eine kostenlose Idee hat, gerne raus damit. Wunder mich, dass bisher scheinbar noch keiner dieses Problem hatte.

  9. #9
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja klar bekommen die Lightboxen Probleme, weil in dem Moment wo sie nach den Links suchen, wo sie sich draufsetzen sollen, diese Links noch gar nicht vorhanden sind.

    Deswegen hat der rs-slider ja diese Anpassung, allerdings nur für jQuery. Es ist selten, dass jemand etwas anderes als Bilder damit öffnen möchte, deswegen ist das im Template auch nicht integriert, dass dort eine Fallunterscheidung gemacht wird. D.h. das erst kontrolliert wird, auf welche Art von Ziel das HREF im Link verweist. Die Mediabox handelt das intern, die Colorbox aber nicht. Deswegen braucht sie für unterschiedliche Ziele unterschiedliche Konfigurationen.

    Benutze aber trotzdem bitte nur die Colorbox. Die Mediabox-Entwicklung hat aufgehört, als die Themen Responsive und Touchscreen aufkamen.

    Zeig mir nochmal ne saubere Seite, wo wenn es geht nur die nötigen Ressourcen für den Slider und die Colorbox drin sind und bringe bitte den Code von mir über eine Templateanpassungen (j_colorbox und j_rs-slider (geraten)) dort rein. Ich kann den nämlich noch nicht sehen. Dann kann ich mir das nochmal ansehen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  10. #10
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Hatte den Code auch schon wieder rausgenommen. Hab ihn jetzt wieder reingesetzt (falls du nochmal gucken willst).
    Kannst du mir vllt. noch sagen, wie ich die Colorbox über die "Diskografie"-Links öffnen kann? Der [lightbox]-Befehl spricht ja nur die Mediabox an!

    EDIT: ich werd das einfach wie im Inhaltsslider machen, per HTML-Textlink
    Geändert von ben_cms (14.10.2017 um 15:21 Uhr)

  11. #11
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dein Colorbox-Template ist schonmal falsch. Du musst exakt arbeiten. Mache es genau so, wie ich oben gezeigt hatte. Hier dein falsches Template
    PHP-Code:
    (function($) {
      $(
    document).ready(function() {
        $(
    'a[data-lightbox]').map(function() {
          $(
    this).colorbox({
            
    // Put custom options here
            
    var isIFrame = $(this).attr('href').split('.').pop() == 'html' true false// wrong, this is not an option
            
    loopfalse,
            
    rel: $(this).attr('data-lightbox'),
            
    maxWidth'95%',
            
    maxHeight'95%' // wrong, kein Komma
            
    iframetrue// wrong, should be isIframe
            
    width'42%'// wrong, should be isIFrame ? '60%' : false
            
    height'42%' // dito
            
    jQuery.noConflict(); // wrong, this is unnecessary and not an option
          
    });
        });
      });
    })(
    jQuery); 
    Du solltest wissen, wie ein Object grundsätzlich aussieht:
    PHP-Code:
    {
      
    myKey1'myValue1',
      
    myKey2'myValue2',
      ...
      
    myKeyN'myValueN'

    Meine Version des Block "// Fix missing lightbox links" solltst du natürlich mit dem vorhandenen austauschen, nicht zusätzlich darunter packen.

    Wozu brauchst du MooTools?

    Wozu brauchst du das Swipe aus dem Core noch?

    Zitat Zitat von ben_cms Beitrag anzeigen
    Kannst du mir vllt. noch sagen, wie ich die Colorbox über die "Diskografie"-Links öffnen kann? Der [lightbox]-Befehl spricht ja nur die Mediabox an!
    Hast du mal versucht den Code zu lesen? Die Anpassungen sind doch dafür da, dass .html und .jpg in der Colorbox geöffnet werden, Bilder normal, .html als Iframe.

    Was meinst du mit "[lightbox]-Befehl"? Sowas gibt es nicht.

    Die Mediabox? Die hat damit nichts zu tun, du sollst nur die Colorbox benutzen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  12. #12
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Sorry, aber ich bin kein Webprogrammierer mit Javascriptkenntnissen! Ich versuche mich lediglich an Contao mit selbstbeigebrachten Css-&Html-Kenntnissen!
    Desweiteren gibt es den Befehl "lightbox" eben doch! Das ist sogar im Contao-Handtuch zum Thema Hyperlinks auf dieser Seite so deglariert: http://www.contao-handbuch.de/inhalt...hyperlink.html!
    Nichts für ungut. Also ich werde das Morgen nochmal ausprobieren! Wenn es funktioniert, werd ich mich dementsprechend revanchieren.

  13. #13
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.733
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von ben_cms Beitrag anzeigen
    Desweiteren gibt es den Befehl "lightbox" eben doch!
    Nichts für ungut in Deiner Quelle steht rel-Attributs

    Lightbox

    Hier können Sie durch die Eingabe eines sogenannten rel-Attributs die Effekte der Mediabox aufrufen.

    Hier einige mögliche Varianten:



    • lightbox: Öffnet die verlinkte interne Seite in einem Mediabox-Fenster. ....
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  14. #14
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von ben_cms Beitrag anzeigen
    Sorry, aber ich bin kein Webprogrammierer mit Javascriptkenntnissen!
    Macht doch nichts. Oder ist es schlimm, wenn du hier etwas lernst?

    Also das sind keine Befehle, das sind Attribute.
    HTML-Code:
    <span class="foo">foo</span>
    SPAN ist ein Element oder Tag und CLASS ist ein Attribut.

    Die Anleitung ist für die Mediabox und XHTML. In HTML5 sind REL-Attribute mit solchen Werten nicht erlaubt. Deswegen benutzt man in in HTML5 für sowas "DATA-freitext" Attribute. Z.B.
    HTML-Code:
    <span data-kategorie="Schöne Bilder" data-ichsollinlightboxoeffnen="auf jeden Fall">Bild</span>
    In HTML5 sind Attribute erlaubt, die mit "data-" beginnen.

    Stell dir vor ich klebe dir ein Sticker auf die Stirn und programmiere dann meinen Roboter. Suche den Typ mit dem Sticker und pass auf, dass ihm keiner zu nahe kommt. Sollte das passieren, dann ... So ist das auch mit diesen Links.
    HTML-Code:
    <a href="..." data-lightbox="" ...
    "lightbox" ist hier frei von uns ausgedacht (aber passend, da man direkt sieht, wofür dieses Attribut da sein soll). Jetzt kommt unser Roboter, den wir programmieren - die Colorbox (in deinem j_colorbox-Template). Da sagen wir nämlich hallo Colorbox suche mal alle Links mit diesem Attribut und pass auf diese auf, falls da jemand drauf klickt. Wenn ja, dann mach das, wofür du da bist.

    Kurz: "lightbox" ist kein Befehl, sondern nur ne "Kennzeichnung" dieses Elementes, damit die Colorbox weiß, auf welche Elemente sie aufpassen muss.

    Kann sein, dass es nicht funktioniert, da ich es ja nicht getestet hatte. Ich habe gerade keine Lust mir so eine Testumgebung zu schaffen. Aber auf jeden Fall solltest du immer versuchen sehr penibel zu sein, wenn es um Code geht. Wenn du das umgesetzt hast, dann schaue ich nochmal, ob es läuft, oder noch Fehler drin sind.

    ps Die Werte für das REL-Attribut, welche in dieser alten Anleitung zu sehen sind, haben nur mit der Mediabox funktioniert.
    Geändert von Andreas (15.10.2017 um 18:55 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  15. #15
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Ich werde jetzt auf die Mediabox verzichten! Das ist mir alles zu verwirrend.
    Mit der Colorbox scheint das jetzt alles soweit zu funktionieren.

    Danke für die Hilfe!

  16. #16
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich hab's jetzt getestet. Es fehlten nur ein paar Anführungszeichen
    Code:
    .not('[href$=.html]')
    =>
    .not('[href$=".html"]')
    
    Der reine CSS-Selektor [href$='.html'] findet Elemente mit einem Attribut HREF wo der Wert auf '.html' endet.
    Schau mal hier: http://public.andreasburg.de/antikult/

    So sieht das aus, wenn du es so in deine Templates bringst, wie es gedacht war.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  17. #17
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Moin Andreas,

    also auf deiner Beispielseite öffnet sich ja auch die Colorbox ...die funktioniert ja bei mir auch einwandfrei im Slider (ohne Templateanpassung).

    Das Problem dass ich dann mit der Colorbox hatte, dass diese sich nicht mehr über das Element "Hyperlink" im unteren Bereich der Seite (Link: "Diskografie") öffnen lies (das ging nur mit der Mediabox). Habe das jetzt aber anders gelöst (wie oben schon beschrieben)!

    Ich war am Anfang meiner Fragestellung zum Problem einfach zu sehr auf die Mediabox fixiert...was natürlich blödsinn ist..wie du schon geschrieben hattest!

    Also gibt es in diesem Sinne gar kein Problem mehr! (Ich habe jetzt wieder ein anderes :/ aber dafür werde ich wohl einen neuen Thread öffnen müssen)

    Aber danke für die Mühe!

  18. #18
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    1. "öffnet sich ja auch die Colorbox":

    Ja, dass Bilder und Seiten in der Colorbox öffnen war ja das Ziel, deshalb geht das auch auf meiner Beispielseite.

    2. "funktioniert ja bei mir auch einwandfrei im Slider (ohne Templateanpassung)":

    Nein, die Colorbox hat nicht die Seite geöffnet, sondern den kompletten Inhalt der Seite genommen und in einen DIV gepackt.
    HTML-Code:
    <div id="cboxLoadedContent" style="width: 1700px; overflow: auto; height: 987px;">
      <meta charset="utf-8">
      <title>Diskografie Chrisnas - Antikult</title>
      <base href="http://test.antikult.de/">
      <meta name="robots" content="index,follow">
      ... alles was auf der Seite im HEAD war, inkl. <scripts>, <link> usw.
    
      ... alles was auf der Seite im BODY war
    </div>
    Wenn du die Seite in der Colobox öffnen willst, dann musst du es so machen, wie ich dir gezeigt habe.

    3. "dass diese sich nicht mehr ... öffnen lies"

    Ja, habe ich dir ja oben gezeigt, dass deine Templateanpassung stark fehlerhaft war, dann geht das auch nicht.

    4. "Also gibt es in diesem Sinne gar kein Problem mehr!"

    Nicht offensichtilich, aber technisch gesehen schon. Solches HTML-Markup gehört nicht in so einen DIV. Deswegen ist in der Doku der Colorbox extra beschrieben, wie man Seiten in der Colorbox öffnet. Und wenn du eine Seite hast, auf welcher Interaktivitäten stattfinden, dann werden diese höchstwahrscheinlich auf der "Seite" in der Colorbox nicht mehr funktionieren, weil es keine Seite ist.

    Du scheinst dich hartnäckig gegen meine Lösung zu sträuben. Du hattest auf meiner Beispielseite auch nicht gesehen, dass die HTML-Seite in der Colorbox ganz anders aussah als bei dir. Ich habe meine Lösung noch nicht einmal auf deiner Seite aufgesetzt gesehen. Wenn es daran scheitert, dass du den Code nicht in die Templates bekommst, da hätte dir bestimmt auch noch jemand bei geholfen.

    Eben einen BE-Zugang erstellt, dann wäre die Sache erledigt gewesen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  19. #19
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Wie was wo? Wieso dagegen sträuben?! ich habe die Sachen versucht umzusetzen und bei mir kommt nur Quark bei raus!
    Es scheint also wirklich eher der Fall zu sein, dass ich die Codes nicht richtig ins Template integriert bekomme.

    EDIT: Die Codes sind jetzt drin. Soweit ich das sehe stimmt das im Vergleich zu dem was du aufgesetzt hattest immer noch nicht.
    Geändert von ben_cms (23.10.2017 um 14:11 Uhr)

  20. #20
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ok. Es fehlt jetzt noch die Anpassung von j_colorbox. Hier mal das komplette Template dafür.
    PHP-Code:
    <?php

    // Add the colorbox style sheet
    $GLOBALS['TL_CSS'][] = 'assets/jquery/colorbox/'$GLOBALS['TL_ASSETS']['COLORBOX'] .'/css/colorbox.min.css|static';

    ?>

    <script src="<?= TL_ASSETS_URL ?>assets/jquery/colorbox/<?= $GLOBALS['TL_ASSETS']['COLORBOX'?>/js/colorbox.min.js"></script>
    <script>
      (function($) {
        $(document).ready(function() {
          $('a[data-lightbox]').map(function() {

            var isIFrame = $(this).attr('href').split('.').pop() == 'html' ? true : false;

            $(this).colorbox({
              // Put custom options here
              loop: false,
              rel: $(this).attr('data-lightbox'),
              maxWidth: '95%',
              maxHeight: '95%',

              iframe: isIFrame,
              width: isIFrame ? '95%' : false,
              height: isIFrame ? '95%' : false

            });
          });
        });
      })(jQuery);
    </script>
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  21. #21
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Ok! Scheint zu klappen! Vielen dank! :-) Tastatur & Maus ist unterwegs...
    Geändert von ben_cms (23.10.2017 um 14:30 Uhr)

  22. #22
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Schön, dass du es jetzt endlich umsetzen konntest und danke sehr.

    Übrigens, wenn du die Weiterblätternfunktion in der geöffneten Lightbox deaktivieren möchtest, dann musst du irgendwas mit der Option
    Code:
    rel: $(this).attr('data-lightbox'),
    anstellen, oder dieses Attribut direkt im HTML verändern. Das ist das sogenannte "Album-Feature". Hier wird also der Wert des Attributs "data-lightbox" genommen.
    HTML-Code:
    <a href="#" data-lightbox="foo" ...
    ergibt dann für die Colorbox und diesen einen Link
    Code:
    rel: 'foo',
    Alle Links, welche ebenfalls data-lightbox="foo" gesetzt haben, werden in der geöffneten Lightbox als "Album" angesehen und das Weiterblättern für diese Links mit "foo" angeboten, sobald irgendeiner von ihnen geöffent wird. Nochmal anders ausgedrückt: Alle Links mit dem gleichen Wert bei "data-lightbox" gehören also zusammen (sind z.B. ein Album).
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  23. #23
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Schön, dass du es jetzt endlich umsetzen konntest und danke sehr.

    Übrigens, wenn du die Weiterblätternfunktion in der geöffneten Lightbox deaktivieren möchtest, dann musst du irgendwas mit der Option
    Code:
    rel: $(this).attr('data-lightbox'),
    anstellen, oder dieses Attribut direkt im HTML verändern. Das ist das sogenannte "Album-Feature". Hier wird also der Wert des Attributs "data-lightbox" genommen.
    HTML-Code:
    <a href="#" data-lightbox="foo" ...
    ergibt dann für die Colorbox und diesen einen Link
    Code:
    rel: 'foo',
    Alle Links, welche ebenfalls data-lightbox="foo" gesetzt haben, werden in der geöffneten Lightbox als "Album" angesehen und das Weiterblättern für diese Links mit "foo" angeboten, sobald irgendeiner von ihnen geöffent wird. Nochmal anders ausgedrückt: Alle Links mit dem gleichen Wert bei "data-lightbox" gehören also zusammen (sind z.B. ein Album).
    Moin, danke für den Hinweis! Allerdings, fänd ich das garnicht schlimm wenn man alle Lightboxes durchblättern könnte...aber irgendwie ist es nur auf die 2 Diskografien aus dem Slider beschränkt. Bei allen anderen ist es deaktiviert. Verstehe jetzt nicht warum...

    Und jetzt habe ich nochmal eine andere Frage: ich habe die Seite heute quasi fertiggestellt und zuletzt noch das .html suffix entfernt.
    Seitdem ich das gemacht habe öffnet sich unter "Video" in den ersten beiden Spalten die Lightbox in einem kleinerem Fenster als in der 3. Spalte!

    Woran liegt das? Hat das irgendwas mit dem html suffix zu tun?

    Gruß
    Ben

  24. #24
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du brauchst nicht meinen kompletten Beitrag zu zitieren, der steht doch direkt darüber.

    Album: Da musst du mal die Attribute data-lightbox kontrollieren, welchen Wert die haben und nach deinen Bedürfnissen anpassen.

    Ja, wenn du den Suffix .html entfernst, stimmt der Check ja nicht mehr.
    PHP-Code:
      slider.on('rsts-slidestart rsts-slidestop', function(event) {
        
    update(slider.find('a[data-lightbox]').not('[href$=".html"]'));
        
    updateIframe(slider.find('a[data-lightbox][href$=".html"]'));
      });
      
    update(slider.find('a[data-lightbox]').not('[href$=".html"]'));
      
    updateIframe(slider.find('a[data-lightbox][href$=".html"]')); 
    Und
    PHP-Code:
    var isIFrame = $(this).attr('href').split('.').pop() == 'html' true false
    Beide machen ja die Fallunterscheidung, ob das HREF auf ".html" endet oder nicht.

    update() wird ausgeführt bei Links wo das HREF nicht auf .html enden
    PHP-Code:
    not('[href$=".html"]')) 
    Und updateIframe() wird ausgeführt bei Links, die auf .html enden.
    PHP-Code:
    [href$=".html"]
    Der Check im j_colorbox-Template ist etwas anders. Hier wird das HREF bei den Punkten gesplittet (split('.')) und geschaut ob das letzte Element (pop()) "html" beinhaltet.

    Beide Checks müssten also umprogrammiert werden.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  25. #25
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Ok. Ich habe leider keine Ahnung wie diese jetzt umprogrammieren muss. Wie gesagt Java-Scrip-Kenntnisse=0. Merk aber schon das ich mich mal langsam mal reinfuchsen sollte.

  26. #26
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hier die Anpassungen. Ich prüfe jetzt, ob im HREF "files/" auftaucht. Das geht nur in die Hose, falls du einen data-lightbox Link hast, der eine HTML-Seite aufruft, in dessen Alias auch "files/" drin vorkommt.
    PHP-Code:
    slider.on('rsts-slidestart rsts-slidestop', function(event) {
      
    update(slider.find('a[data-lightbox]').not('[href*="files/"]'));
      
    updateIframe(slider.find('a[data-lightbox][href*="files/"]'));
    });
    update(slider.find('a[data-lightbox]').not('[href*="files/"]'));
    updateIframe(slider.find('a[data-lightbox][href*="files/"]'));


    var 
    isIFrame = $(this).attr('href').indexOf('files/') == -false true
    Das hier "xxx == xxx ? false : true" heißt übrigens "WENN xxx GLEICH xxx DANN false SONST true".
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  27. #27
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Sorry, dass ich erst so spät antworte.

    Ich habe den Code im Slider-Template ersetzt. Leider hat das nicht funktioniert. Die Seite wurde nicht mehr korrekt angezeigt.
    Ich habe den html suffix erstmal wieder hergestellt. Damit alles korrekt angezeigt wird.

  28. #28
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das müsste ich mir mal live ansehen, wenn der neue Code drauf ist.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  29. #29
    Contao-Nutzer
    Registriert seit
    07.06.2016.
    Beiträge
    118

    Standard

    Danke, aber da die Seite jetzt Online ist, würde ich da eigentlich nur noch ungern dran rumexperimentieren. Und letztendlich sind die Popups eh funktional überdenkenswert. Da ich nicht darüber nachgedacht habe, dass man ja die Inhalte der Colorbox verlinken will, dabei dann aber der Link den Inhalt auf einer Seite lädt...also entweder wäre dann die Frage, ob man den Inhalt von der Colorbox so verlinken kann, dass bei Aufruf die Hauptseite geladen wird und die Box dann automatisch aufpoppt, oder, ob man das zwecks SEO nicht sowieso lieber auf eine extra Unterseite aufbereitet...letzteres erscheint mir am sinnvollsten.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •