Ergebnis 1 bis 6 von 6

Thema: mootools und jquery mit contao 3

  1. #1
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Beitrag mootools und jquery mit contao 3

    Bin auf das Problem bei einem Kunden Projekt gestoßen und habe festgestellt, dass es weitere Konsequenzen haben kann .Es geht darum jquery und mootools gleichzeitig zu verwenden. Kommt nicht oft vor, aber kann vorkommen...

    Also das Problem ist ja, dass beide libraries sich gegenseitig "in die Quere" kommen. Der nonConflict Modus ist bei dieser Lösung nicht nötig und kann in Contao 3 auch nicht angewendet werden, es sei denn man passt das "fe_page" Template an.

    -> Ich hatte auch ein Bugreport bzgl. dieses Problems und wurde dann eines besseren belehrt . Danke an Leo.
    https://github.com/contao/core/issues/4644

    Abhilfe schaffen folgende Snippets, die immer bei Modulentwicklungen oder bei sonstigen Code Ergänzungen verwendet werden sollten.

    Für jeden jquery bezogenen Javasript code sollte folgendes darum herum gebaut werden:
    HTML-Code:
    // jQuery
    (function($) {  
       // Your code goes here
    })(jQuery);
    Bei mootools folgendes:
    HTML-Code:
    // MooTools
    (function($) {   
      // Your code goes here
    })
    (document.id);
    __________________

    Beispiel aus moo_mediabox:
    HTML-Code:
    (function($) {
      
      // Your code goes here
      window.addEvent('domready', function() {
        var links = $$('a').filter(function(el) {
          return el.getAttribute('data-lightbox') != null;
        });
        $$(links).mediabox({
          // Put custom options here
        }, function(el) {
            return [el.href, el.title, el.getAttribute('data-lightbox')];
        }, function(el) {
          var data = this.getAttribute('data-lightbox').split(' ');
          return (this == el) || el.getAttribute('data-lightbox').match(data[0]);
        });
        // Support swiping on mobile devices
        $('mbImage').addEvent('swipe', function(e) {
          (e.direction == 'left') ? $('mbNextLink').fireEvent('click') : $('mbPrevLink').fireEvent('click');
        });
      });
    
    })(document.id);
    Geändert von Zero (20.08.2012 um 10:10 Uhr) Grund: umbruch im Code korrigiert
    Mein Blog -> brothers-project.de

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Danke für die Info.
    In deinen Kurzbeispielen sind die ersten Zeilenumbrüche abhanden gekommen, mal bitte korrigieren, so:
    Code:
    // jQuery 
    (function($) {
    ...
    Sonst könnte es schöne copy-paste Fehler geben.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Das kommt davon, wenn es spät ist und man es dann auch noch versucht, vom Handy aus "schnell" zu ändern . Nun ja. Jetzt passts. Danke dir.
    Mein Blog -> brothers-project.de

  4. #4
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Sehr gut das du darauf hinweist. Ergänzend ist zu sagen das dieses immediate function pattern eigentlich immer verwendet werden sollte (Auch wenn man nur ein Framework verwendet). Durch dieses pattern werden die globalen Javascript Variablen verringert was zu weniger Problemen im allgemeinen führt.

    Btw. gibt es 2 Schreibweisen für immediate functions.

    (function($) {

    }(document.id))

    und

    (function($) {

    })(document.id)

    viele Grüße
    Joe
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  5. #5
    Contao-Nutzer
    Registriert seit
    19.02.2013.
    Beiträge
    14

    Standard

    Moin!

    Thema ist zwar schon etwas älter, ich versuche aber trotzdem mal hier nachzufragen.

    Ich bekomme es nicht gebacken jQuery und MooTools gleichzeitig zum Laufen zu bringen. Liegt daran, dass ich nicht verstehe was in den oberen Posts steht. Ich weiß nicht wie die Schnipsel genau anwenden muss.
    Das jQuery-Script läuft soweit problemlos. Die MooTools "moo_slimbox" will jedoch nicht laufen.

    Verwende Contao 3.0.6, die Website liegt noch lokal auf meiner Platte (also habe ich noch keinen Link).

    Vielleicht kann mir ja einer kurz beschreiben, wie ich mein Problem lösen kann.

    Danke,
    Sohle

  6. #6
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Ich verstehe nicht, was du nicht verstehst
    Da du Contao Version 3 verwendest, sollte es bei diesem Template bereits Standardmäßig mit drin sein. Leo hat das alles bereits eingefügt. Es sei denn, du hast das Template komplett mit eigenem Code überschrieben.

    Was genau ist dein Problem? Bekommst du eine Fehlermeldung in der Konsole (Developer Tool FF o. IE o. CH o. SF)?
    Hast du das Template auch wirchlich in dem entsprechenden Seitenlayout eingebunden? Kam alles schon vor
    Mein Blog -> brothers-project.de

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
  •