Ankündigung

Einklappen
Keine Ankündigung bisher.

[behoben in 1.5.5e] Responsive Classic & typefilter: Weiße Seite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [behoben in 1.5.5e] Responsive Classic & typefilter: Weiße Seite

    Liebe Kollegen,

    in der deutschen Version von ZC tritt ein Fehler zusammen mit den sogenannten "typefiltern" auf (wie sie z.B. für Produkt-Typen "Music" verwendet werden), da die deutsche ZC ersion ein Auto-Loading plugin verwendet, was einen kleinen Bug enthält (Lösung s.u.).

    Symptom:
    Wenn man die "responsive-classic" Template im deutschen ZC (1.5.5., evtl. auch früher?) verwendet bekommt man z.B. mit dieser URL eine weiße Seite:

    Code:
    http://www.EUERSHOP.com/index.php?main_page=index&typefilter=music_genre&music_genre_id=1
    Ich mache es kurz, in der Funktion “setCurrentPageBase” in der Datei "ZENCART_ORDNER/extras/plugins/riCjLoader/RiCjLoaderPlugin.php" muss die unten rot eingefärbte Zeile ergänzt werden.

    Code:
    [COLOR=#000000][FONT=Monaco][COLOR=#931A68]function[/COLOR] setCurrentPageBase(){[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]        [COLOR=#931A68]if[/COLOR](!$this->get([COLOR=#0326CC]'admin'[/COLOR])){[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]            [COLOR=#931A68]global [/COLOR]$current_page_base, $this_is_home_page;[/FONT][/COLOR]
    [COLOR=#679072][FONT=Monaco]// set current page[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]            [COLOR=#931A68]if[/COLOR]($this_is_home_page)[/FONT][/COLOR]
    [COLOR=#0326CC][FONT=Monaco][COLOR=#000000]                $this->[/COLOR]current_page_base[COLOR=#000000] = [/COLOR]'index_home'[COLOR=#000000];[/COLOR][/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][COLOR=#931A68][FONT=Monaco]elseif[/FONT][/COLOR][FONT=Monaco]($current_page_base == [/FONT][COLOR=#0326CC][FONT=Monaco]'index[/FONT][/COLOR][FONT=Monaco][COLOR=#0326cc]’[/COLOR][/FONT][FONT=Monaco]){[/FONT][/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][COLOR=#ff0000][FONT=Monaco]$this->current_page_base = 'index'; // Diese Zeile einfügen[/FONT][/COLOR][/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]                [COLOR=#931A68]if[/COLOR](isset([COLOR=#931A68]$_GET[/COLOR][[COLOR=#0326CC]'cPath'[/COLOR]]))[/FONT][/COLOR]
    [COLOR=#0326CC][FONT=Monaco][COLOR=#000000]                    $this->[/COLOR]current_page_base[COLOR=#000000] = [/COLOR]'index_category'[COLOR=#000000];[/COLOR][/FONT][/COLOR]
    [COLOR=#0326CC][FONT=Monaco][COLOR=#931A68]elseif[/COLOR][COLOR=#000000](isset([/COLOR][COLOR=#931A68]$_GET[/COLOR][COLOR=#000000][[/COLOR]'manufacturers_id'[COLOR=#000000]]))[/COLOR][/FONT][/COLOR]
    [COLOR=#0326CC][FONT=Monaco][COLOR=#000000]                    $this->[/COLOR]current_page_base[COLOR=#000000] = [/COLOR]'index_manufacturer'[COLOR=#000000];[/COLOR][/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]            }[/FONT][/COLOR]
    [COLOR=#931A68][FONT=Monaco]else[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]$this->[COLOR=#0326CC]current_page_base[/COLOR] = $current_page_base;[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]        }[/FONT][/COLOR]
    [COLOR=#931A68][FONT=Monaco]else[COLOR=#000000]{[/COLOR][/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]            $this->[COLOR=#0326CC]current_page_base[/COLOR] = preg_replace([COLOR=#0326CC]'/\.php/'[/COLOR],[COLOR=#0326CC]''[/COLOR],substr(strrchr([COLOR=#931A68]$_SERVER[/COLOR][[COLOR=#0326CC]'PHP_SELF'[/COLOR]],[COLOR=#0326CC]'/'[/COLOR]),1),1);[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]        }[/FONT][/COLOR]
    [COLOR=#000000][FONT=Monaco]    }[/FONT][/COLOR]
    Gerne würde ich an dieser Stelle vorschlagen, das Thema "Was tun, wenn ich eine weiße Seite im Browser sehe" zu ergänzen: In dem Fall wie oben steht nichts im Error log, da das HTML korrekt erstellt und an den Browser geschickt wird, aber das "responsive_classic" Template gibt dem BODY tag eine CSS Klasse "no-fouc" (="no Flash Of Unstyled Content"), die die Seite so lang nicht anzeigt, bis alles geladen ist. Der oben beschriebene Bug hat zur Folge, dass diese CSS Klasse "no-fouc" nicht vom BODY entfernt wird, also bleibt alles weiss. Das alleine zu Verstehen hat schon ein gutes Weilchen gebraucht

    Viele Grüße,
    P.

    #2
    Sehr lässig, Danke!

    Da in den Demodaten nur ein Musikartikel ist und der daher immer direkt geladen wird, fällt das nicht so leicht auf.

    Es ist gerade ein kleineres Bugfixpaket für 1.5.5 in Vorbereitung, diese CSS/JS Loader Sache wird dann auch aufgenommen

    Kommentar


      #3
      Hi Webchills,

      prima. Magst du auch den Hinweis auf die "weiße Seite" im Zusammenhang mit Template "classic_responsive" in deinem Support-Thread hier aufnehmen?
      Weiß nicht, in welchen Situationen es noch passieren kann, dass die Klasse "no-fouc" nicht entfernt wird am Ende des Ladeprozesses der Seite, aber es geschehen ja manchmal die seltsamsten Dinge

      Grüße,
      P.

      Kommentar

      Info zu diesem Forenarchiv:
      Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
      Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
      Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
      PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
      Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
      FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

      Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
      Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
      Fehler in der Software können auf Github als Issues gemeldet werden.
      Follow us
      aktuelle version
      Zen Cart 1.5.7g deutsch
      vom 12.12.2023
      [Download]
      Lädt...
      X