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: modified eCommerce Shopsoftware 2.0.6.0 rev 13500 veröffentlicht

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Die Datei würde ich so nicht verwenden, da du den "page" Parameter nicht castest.
    Wir haben das in r13561 sauber und sicher umgesetzt und in dem Zusammenhang auch gleich den Mehrfach-Klick auf eine Zeile zur Bearbeitung der Banner geändert.

    Grüße

    Torsten

    karsta.de

    • Experte
    • Beiträge: 3.056
    Stimmt, einen "page" Parameter hatte ich übersehen. Schön, dass ihr das mit in den Shop übernommen habt.

    Da ich gerade für alle EU-Länder neue Steuerzonen & Steuersätze angelegt habe, ist mir aufgefallen, dass auch auf der Seite der Steuersätze die Speicherung für die Anzeige der Anzahl an Einträgen fehlt. Kleine Sortierung im Tabellenkopf wäre auch nice.

    BG Karsta

    karsta.de

    • Experte
    • Beiträge: 3.056
    Hab das mal vorbereitet (admin/tax_rates.php).

    BG Karsta

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Danke dir. Ich habe das auch nochmal sauber umformatiert und in r13562 übernommen.

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.213
    • Geschlecht:
    Mit z.B. Unterverzeichnis /dropship/ würde sogar lediglich uct.info.php übrigbleiben :-D.

    Ich würde einfach basename() verwenden (NACHTRAG: wie es ja auch in der switch-Condition verwendet wird):

    Code: PHP  [Auswählen]
    $basenammme = basename($referer['path']);
    [...]

    das funktioniert nicht, wenn zB SEO URLs verwendet werden. Dann hast du sowas: /Testkategorie-1/Testartikel-1::1.html

    Die Lösung von Karl aus Antwort #154 ist auch fehleranfällig, denn es könnte wie in seinem Beispiel eine Kategorie mit dem Namen "moppel" geben. Auch dann entsteht ein falsches Ergebnis. Zusätzlich und auch noch viel gravierender ist, wenn der Shop im Hauptverzeichnis installiert ist. Dann würden alle '/' in der URL entfernt werden.

    Korrektur aus r13563:

    Code: PHP  [Auswählen]
                  $basename = $referer['path'];
                  if (substr($basename, 0, strlen(DIR_WS_CATALOG)) == DIR_WS_CATALOG) {
                    $basename = substr($basename, strlen(DIR_WS_CATALOG));
                  }

    Gruss Gerhard

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Moin

    Auch von mir vielen Dank für das Update.

    Nun bin ich grad dabei das Update vorzubereiten. Dabei ist mir aufgefallen, dass der Teil "Neue Attribut-Verwaltung" der Updateanleitung fürs Template im tpl_modified_responsive_1 anders umgesetzt wurde in source/boxes/admin.php als im tpl_modified_responsive, wo es genau nach der Anleitung umgesetzt wurde.

    Ist das dennoch korrekt?

    Gruss Timm

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Und kann es sein, dass im _installer in der delete_files.php im Bereich Current Template folgendes fehlt?

    Code: PHP  [Auswählen]
    'templates/'.CURRENT_TEMPLATE.'/javascript/jquery.bxslider.min.js',
    'templates/'.CURRENT_TEMPLATE.'/javascript/jquery.cookieconsent.min.js',
    'templates/'.CURRENT_TEMPLATE.'/javascript/jquery.unveil.min.js',
    'templates/'.CURRENT_TEMPLATE.'/javascript/extra/bxslider.js.php',
    'templates/'.CURRENT_TEMPLATE.'/javascript/extra/unveil.js.php',

    Sonst muss man das beim tpl_modified_responsive_1 zB selbst löschen. Oder geht das nicht, weil es dann auch für Fremdtemplates gelten würde und bei diesen die Dateien evtl weitergenutzt werden und deshalb nicht gelöscht werden dürfen?

    Gruss Timm

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Die Frage hast du dir ja quasi selbst beantwortet.  :-D Schließlich gibt es auch Fremdtemplates, welche die verwendeten Files über ein Update hinaus weiterverwenden sollen. Nur, weil entschieden wurde, dass für die eigenen Templates auf neue bzw. bessere Technologien gesetzt werden soll, kann das ja nicht gleichzeitig eine Diktatur für alle Templates sein.

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Die tpl_modified_responsive_1 usw sind aber keine klassischen Fremdtemplates und außerdem kostenpflichtig. Vielleicht sollte man das für diese mitpflegen, oder den Templates einen angepassten _installer Ordner mitgeben. Nur mal so als Idee. Mir persönlich ist es Wurscht, weil ich vor einem Update eh alles gegeneinander vergleiche zur Vorgängerversion.

    Gruss Timm

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    [...]
    Nun bin ich grad dabei das Update vorzubereiten. Dabei ist mir aufgefallen, dass der Teil "Neue Attribut-Verwaltung" der Updateanleitung fürs Template im tpl_modified_responsive_1 anders umgesetzt wurde in source/boxes/admin.php als im tpl_modified_responsive, wo es genau nach der Anleitung umgesetzt wurde.

    Ist das dennoch korrekt?
    [...]

    Wir haben in den Kauftemplates immer Fallbacks mit eingebaut für ältere Shopversionen, daher unterscheiden sich diverse Dateien.

    In der Tat behandeln wir auch unsere eigenen Kauftemplates im Installer als Fremdtemplates. Wieso das so ist hat awids dir ja bereits erklärt.

    Grüße

    Torsten

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Moin

    Wer Bilder auf Contentseiten eingebunden hat mit:

    Code: XML  [Auswählen]
    img class="unveil"

    der muss ab 2.0.6.0 und Nutzung der modified Templates dies ändern in:

    Code: XML  [Auswählen]
    img class="lazyload"

    Gleiches gilt, wenn man das "MODUL: Themenwelten" nutzt und dort die Bilder mit unveil auch erst lädt, wenn die Bilder im sichtbaren Bereich sind.

    Gruss Timm

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Im Themenwelten-Modul ist das seit unserem letzten Experten-Update längst berücksichtigt.

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Dafür muss man das Themenwelten Update aber auch installiert haben, was für jemanden mit 2.0.5.1 nicht möglich war.

    Ich sagte ja:

    [...]
    Gleiches gilt, wenn man das "MODUL: Themenwelten" nutzt und dort die Bilder mit unveil auch erst lädt

    Könnte zB sein wenn das jemand laut meinem Tipp aus 2018 ("MODUL: Themenwelten") so gemacht hat.

    Aber danke für das Update, dann pack ich das auch gleich noch in mein Updatepaket.

    Gruss Timm

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Wegen Lazyload habe ich das Modul ja auch erst für 2.0.6.0 freigegeben. Nutzbar wäre es mit Anpassungen auch in den 2.0.5.x-Versionen.

    Aber okay, ich hatte vergessen, dass in den Original-Template-Dateien des Themenwelten-Moduls kein Nachladen mit drin war. Dann betrifft deine Aussage wirklich nur jene, welche deinen Tipp berücksichtigt haben oder selbst auf diese Idee kamen.

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Hallo,

    ich habe heute unseren v2.0.6.0 rev 13500 von PHP 7.4.20 auf PHP 8.0.7 umgestellt und es hat auch alles funktioniert, bis die erste Bestellung eingegangen ist. Unsere Bestellungen werden an Afterbuy übermittelt und genau hier scheint es einen Fehler in der Datei includes/classes/afterbuy.php mit PHP 8 zu geben.

    Folgende Fehlermeldung steht in der LOG:

    [2021-07-06 14:51:54] [error] [modified] [pid:32744] Undefined constant "xtcPrice" in File: /shop/includes/classes/afterbuy.php on Line: 190 {} {}
    Der Code von Zeile 186 - 195 sieht wie folgt aus (Zeile 190 "if (!class_exists (xtcPrice)) {"):

    Code: PHP  [Auswählen]
        // products_data
        if (isset($Artikelerkennung) && is_numeric($Artikelerkennung)) $DATAstring .= "Artikelerkennung=" . $Artikelerkennung . "&";
                    $nr = 0;
                    $anzahl = 0;
                    if (!class_exists (xtcPrice)) {
                      require_once ((defined('RUN_MODE_ADMIN') ? DIR_FS_CATALOG : '').DIR_WS_CLASSES . 'xtcPrice.php');
                      $xtPrice = new xtcPrice($oData['currency'],$oData['customers_status']);
                    }
                    while ($pDATA = xtc_db_fetch_array($p_query)) {
                            $nr ++;

    Hat jemand eine Idee, wie ich diesen Fehler beheben kann und ob der Fehler auch wirklich an der Shopversion liegt?

    MFG,

    Sven