Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Update im Template auf jQuery 3.3.1 - Veraltete jQuery Bibliothek aktualisieren

    hbauer

    • Experte
    • Beiträge: 1.097
    Es wird ja auch in der Version 2.0.3 immer noch ein recht alte jquery Bibliothek verwendet. Diese scheint auch Sicherheitsprobleme aufzuweisen.

    Hat schon jemand versucht hier eine aktuelle Version zu verwenden? Geht das einfach so?

    Wann ist geplant hier auf die Version 3 zu gehen?

    Gruß
    Hagen

    Linkback: https://www.modified-shop.org/forum/index.php?topic=39109.0

    Timm

    • Fördermitglied
    • Beiträge: 6.343
    Einfach so geht das nicht. Hatte das mal probiert. Ergebnis war glaube ich weiße Seite bzw zerschossenes Design und lauter Fehlermeldungen. Selbst bei den wesentlich höheren 1er Versionen.

    Hatte das mal im modified responsive thread angesprochen und Marcus vom Team meinte, dass das in Planung sei, aber dauert weil auch jede andere JavaScript Datei dann angepasst werden müsste. Musst da mal lesen. Hab die Stelle grad nicht parat, weil mobil unterwegs.

    Gruß Timm

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Einfach so geht das nicht. Hatte das mal probiert. Ergebnis war glaube ich weiße Seite bzw zerschossenes Design und lauter Fehlermeldungen. Selbst bei den wesentlich höheren 1er Versionen.
    [...]

    Wenn man auf die jQuery Version 3  upgraden will, dann findet man hier -> https://jquery.com/upgrade-guide/3.0/ die Informationen darüber was dabei zu tun und zu beachten ist.

    PS: Die in der modified eCommerce Shopsoftware  2.0.3.0 rev 10907 verwendete jQuery Version ist 1.8.3

    Gruss
    Hanspeter

    p3e

    • Experte
    • Beiträge: 2.395
    Welche Sicherheitsprobleme denn?

    hbauer

    • Experte
    • Beiträge: 1.097
    Welche Sicherheitsprobleme denn?
    Chrome lighthouse meldet die. Deswegen habe ich auch "scheint aufzuweisen" geschrieben

    Timm

    • Fördermitglied
    • Beiträge: 6.343

    Markus

    • modified Team
    • Beiträge: 1.368
    • Geschlecht:
    Hallo,

    anbei mal ein Paket um im Frontend auf die aktuelle jQuery Version 3.3.1 umzusteigen.
    Das Paket ist zwar getestet und funktioniert ... trotzdem sollte es nicht direkt in einen Liveshop eingespielt werden. Ich konnte nur solche Anpassungen testen, welche auch in einem Standardtemplate eingebaut sind. Für andere jQuery Scripte und oder Addons kann ich keine Funktionalität gewährleisten.

    Und noch ein wichtiger Hinweis .. Die Anpassungen sind NUR für einen Shop bzw. Template welches auch auf einem Modified-Template oder einem Responsive Modified Template basiert. Für andere Templates müssen mit Sicherheit weitere Anpassungen vorgenommen werden damit der Shop danach auch noch funktioniert.

    Zu den Änderungen
    Im Dowload-Paket gibt es 2 Ordner (css & javascript).
    Je nach Template werden nicht alle Dateien benötigt.
    Dass ihr die bisherigen Dateien vorher sichert ist denke ich klar :-)

    Für ein RESPONSIVE modified-Template:
    CSS-Ordner - Alle Dateien hochladen und die alten überschreiben
    JAVASCRIPT-Order - Alle Dateien hochladen und die alten überschreiben

    Für ein NICHT RESPONSIVE modified-Template
    (hier werden die Dateien für das SumoSelect nicht benötigt)
    CSS-Ordner - wird nicht benötigt
    JAVASCRIPT-Ordner - die folgenden Dateien hochladen
    - get_states.js.php
    - jquery.alerts.min.js
    - jquery-3.3.1.min.js

    Folgende Anpassungen müssen noch manuell gemacht werden.

    (Für responsive und auch nicht responsive modified Templates)

    general.js.php

    suche:

    Code: PHP  [Auswählen]
    <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery-1.8.3.min.js" type="text/javascript"></script>

    ersetze mit:

    Code: PHP  [Auswählen]
    <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery-3.3.1.min.js" type="text/javascript"></script>

    (Nur für responsive modified Templates)

    stylesheet.css

    suche:
    Code: CSS  [Auswählen]
    .filter_bar .CaptionCont.SlectBox.Selected {

    ersetze mit:

    Code: CSS  [Auswählen]
    .filter_bar .CaptionCont.SelectBox.Selected {

    (Nur für responsive modified Templates)

    general_bottom.js.php

    suche:

    Code: PHP  [Auswählen]
        $('select').SumoSelect();
        /* Mark Selected */
        var tmpStr = '';
        $('.filter_bar .SumoSelect').each(function(index){
          ($(this).find('select').val() == '') ? $(this).find('p').removeClass("Selected") : $(this).find('p').addClass("Selected");
        });

    ersetze mit:

    Code: PHP  [Auswählen]
        $('select').SumoSelect();
        var selectWord = '';
        var selectTimer = null;
        $('body').on('keydown', function(e){
            var target = $(e.target);
            var tmpClass = target.attr("class");
            if(typeof(tmpClass) != "undefined"){
                if(tmpClass.indexOf("SumoSelect") > -1){
                    var char = String.fromCharCode(e.keyCode);
                    if(char.match('\d*\w*')){
                        selectWord += char;
                    }
                    clearTimeout(selectTimer); //cancel the previous timer.
                    selectTimer = null;
                    selectTimer = setTimeout(function(){
                        var select = target.find("select");
                        var options = target.find("select option");
                        for(var x = 0; x < options.length; x++){
                            var option = options[x];
                            var optionText = option.text.toLowerCase();
                            if(optionText.indexOf(selectWord.toLowerCase()) == 0){
                                var ul = target.find("ul");
                                var li = target.find(".selected");
                                var offsetUl = ul.offset();
                                var offsetLi = li.offset();
                                console.log(option.text);
                                select.val(option.value);
                                select.trigger("change");
                                select[0].sumo.unSelectAll();
                                select[0].sumo.toggSel(true,option.value);
                                select[0].sumo.reload();
                                select[0].sumo.setOnOpen();
                                newLi = $(select[0].sumo.ul).find(".selected");
                                var offsetNewLi = newLi.offset();
                                ul = select[0].sumo.ul;
                                var newOffset = offsetNewLi.top - offsetUl.top;
                                ul.scrollTop(0);
                                ul.scrollTop(newOffset);
                                console.log(offsetUl.top +"~"+offsetLi.top+"~"+offsetNewLi.top);
                                break;
                            }
                        }
                        selectWord = '';
                    }, 500);
                }
            }
        });
        /* Mark Selected */
        var tmpStr = '';
        $('.filter_bar .SumoSelect').each(function(index){
          ($(this).find('select').val() == '') ? $(this).find('p').removeClass("Selected") : $(this).find('p').addClass("Selected");
        });

    Mit dem neuen Sumo-Select kommt auch noch eine Tastatur-Funktionalität :-)

    Ich meine das wars und ich habe nichts vergessen.
    Ich bin gespannt auf Feedback :-)

    Markus

    P.S. ich bin mal so frei und änderen den Titel des 1. Beitrags ein wenig ab damit man weiss um was es hier genau geht. :-)

    Duncan

    • Fördermitglied
    • Beiträge: 177
    • Geschlecht:
    :thx:

    Mal testen....

    Timm

    • Fördermitglied
    • Beiträge: 6.343
    Hab lieben Dank Markus, dass das nun in Angriff genommen wurde und die 7 Jahre alte Version demnächst dann Vergangenheit ist.

    Auf den ersten Blick ist mir bei den Standardsachen in Firefox nichts negatives aufgefallen. Scheint alles zu funktionieren und es gibt keine optischen sofort auffallenden Makel. Konnte auch erstmal keine Fehlermeldungen in der Webkonsole finden.

    Bei mir öffnet ein Extra Modul, dass die Bewertungen nicht auf einer neuen Seite öffnet, sondern auf der selben Seite schön nach unten hin aufklappt, nicht mehr so smooth sondern hakt. Aber das klär ich mit dem Modulentwickler. Die toogle_cart öffnet aber smooth. Funktioniert also grundsätzlich und ich hab auch eine Fehlermeldung in der Webkonsole, die das Modul betrifft.

    Das "pinch to zoom und dann auf nächstes Bild bei den Popupbildern klicken Problem" auf IOS Geräten ist leider damit immer noch nicht weg.

    Für die, die Markus Lösung bzgl der oberen Einbindung von Javascript nur im Warenkorb und Checkout schon implementiert haben, die müssen natürlich in der general_bottom.js.php noch oben die jQueryversion anpassen.

    Die Anpassung für den Bestsellerslider, damit die Links auch in Firefox 59 funktionieren, läuft weiterhin, da dort nichts verändert wurde.

    Also testet fleißig, damit die Änderung es in den nächsten Release schafft.

    Gruß Timm

    Markus

    • modified Team
    • Beiträge: 1.368
    • Geschlecht:
    Hi Timm,

    wunderbar ... bitte auch mal testen ob im Checkout alles funktioniert .. und das ganze evtl. auch noch in Verbindung mit verschiedenen Zahlungsmodulen wie z.b. Paypal.

    Markus

    Timm

    • Fördermitglied
    • Beiträge: 6.343
    Ich hab den checkout nochmal getestet. Es funktioniert alles. Getestet mit Vorkasse, Sofort, Paypal Classic, Paypal Plus. Accordeon funtioniert. Es gibt eine Fehlermeldung auf der checkout_payment, die jetzt mit 1.8.3 aber auch schon besteht.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Auch Amazon Pay funktioniert und das dhl Wunschpaket Modul, wo sich die Preise beim anklicken der Wunschservices per Javascript anpassen funktioniert auch.

    Sonst auf normalen Seiten, im Warenkorb, Mein Konto-Bestellungen, Login und Registrierung keine Fehlermeldungen in der Webkonsole.

    Im Admin gibts welche auf der Startseite wegen des Feeds rechts, aber da ist ja auch noch 1.8.3 aktiv.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Mit Fehlermeldungen ist nur die Webkonsole gemeint. Im errorlog steht nichts und in mod_warning ist auch nichts neues dazugekommen. Sehr gut.

    Gruß Timm

    Markus

    • modified Team
    • Beiträge: 1.368
    • Geschlecht:
    Hi Timm,

    Ich hab den checkout nochmal getestet. Es funktioniert alles. Getestet mit Vorkasse, Sofort, Paypal Classic, Paypal Plus. Accordeon funtioniert. Es gibt eine Fehlermeldung auf der checkout_payment, die jetzt mit 1.8.3 aber auch schon besteht.

    Die kann ich aber nicht nachvolltziehen im Demoshop. Kommt das evtl. durch irgendein Bezahlmodul?

    Markus

    Timm

    • Fördermitglied
    • Beiträge: 6.343
    Hab ich vorhin nicht gegen den Demoshop getestet. Sorry.

    Es liegt am PaypalPlus-Modul. Deaktiviert man das, kommt die Meldung nicht.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Soll ich das dann im PaypalPlus Thread posten? Hängt ja mit der neuen jQuery nicht zusammen, oder weißt du gleich, was es ist und kannst die Lösung im trunk einfügen?

    Gruß Timm

    Markus

    • modified Team
    • Beiträge: 1.368
    • Geschlecht:
    Hi Timm,

    bitte ins Ticket ... dann ist es gleich an der richtigen Stelle. :-)

    Markus

    Markus

    • modified Team
    • Beiträge: 1.368
    • Geschlecht:
    Hi zusammen,

    gibts hier noch weiteres Feedback bzw. hat noch jemand das ganze Paket getestet?

    Markus
    Shop Hosting
    7 Antworten
    3754 Aufrufe
    16. März 2016, 17:42:34 von Roberto75
    15 Antworten
    7485 Aufrufe
    13. Juli 2015, 17:43:14 von MoSaG
    2 Antworten
    2899 Aufrufe
    22. November 2010, 13:25:55 von DokuMan
    43 Antworten
    37801 Aufrufe
    10. April 2012, 15:22:02 von alex987123