Neu OPC Elemente werden durch Pagination nur teilweise neu geladen

apalusa

Sehr aktives Mitglied
22. Oktober 2018
275
76
Liebe Community,

wir bauen gerade einen Testshop 5 auf damit wir anschließend unseren Shop 4 direkt upgraden können. Nun ist mir aber ein Problem bezüglich einer Einbindung von einem script in einem OPC RichText Element aufgefallen.

Wir haben eine Marke im Sortiment deren Firma ein Script bereit stellt, anhand dieses scripts wird jederzeit automatisch das jeweils aktuelle Banner für die Marke abgerufen und geladen. Hierfür muss lediglich das script hinterlegt werden und dieses erstellt dann automatisch ein <img> als direkt folgendes Element (kein child). Das RichText Element haben wir im opc_before_heading Hook auf der entsprechenden Kategorieseite eingefügt.

Nun ist es aber so, dass das wechseln der Seite per Pagination dazu führt, dass zwar die Seite wechselt, aber mit dem eingefügten Banner passiert etwas sehr eigenartiges. Das bereits geladene Banner rutscht nach ganz unten, also noch unter den Footer als absolut letztes Element der Seite direkt vor den </body> tag. Bei einer Prüfung der Seite stellt man aber fest, dass das script selbst an der richtigen Stelle bestehen bleibt.
Noch eigenartiger ist aber das verhalten wenn man nun nochmal die Seite wechselt, das erste Banner bleibt bestehen aber das script wird anscheinend nochmal ausgeführt und plötzlich kommt das Banner nun 2 mal untereinander am Ende der Seite. Das ganze zieht sich scheinbar bis ins unendliche und nur ein normales neuladen der Seite (z.B. F5) führt dazu dass das Banner wieder wie ursprünglich innerhalb des RichText Elements oben auf der Seite steht.

Ich vermute mal dass hier eventuell beim neuladen der Artikel durch AJAX nur bestimmte Elemente ausgewählt werden und somit das "fremde" Element nach unten rutscht. Nun stellt sich aber die Frage, wie das ganze vermeiden oder behoben werden kann?
Zur Probe hier einmal der Link zu einer Testshop Seite bei der genau dieses Problem auftritt: http://u32948rr.test3.jtl-hosting.de/fossil-uhr-schmuck-smartwatch

Vielen Dank im Voraus für jede Idee dazu, wie wir das ganze vielleicht geregelt kriegen!

Viele Grüße
apalusa
 

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.353
518
Hallo,

wenn man die Pagination betätigt wird die ganze div (<div id="result-wrapper") ausgetauscht, also auch einschließlich des MountPoints opc_before_heading. Ich kann mir vorstellen, dass Javascript das man da einbindet irgendwie Probleme macht..
Was ihr probieren könnt, wäre einfach noch einen eigenen MountPoint einzufügen, also z. B. per Child-Template in der productlist/index.tpl sowas machen:
HTML:
{block name='productlist-index-include-header' append}
   {opcMountPoint id='opc_before_result_wrapper'}
{/block}
Dann habt ihr noch einen MountPoint der nicht bei Nutzung der Pagination neugeladen wird.

Viele Grüße
Michael
 
  • Gefällt mir
Reaktionen: apalusa

apalusa

Sehr aktives Mitglied
22. Oktober 2018
275
76
Hallo,

wenn man die Pagination betätigt wird die ganze div (<div id="result-wrapper") ausgetauscht, also auch einschließlich des MountPoints opc_before_heading. Ich kann mir vorstellen, dass Javascript das man da einbindet irgendwie Probleme macht..
Was ihr probieren könnt, wäre einfach noch einen eigenen MountPoint einzufügen, also z. B. per Child-Template in der productlist/index.tpl sowas machen:
HTML:
{block name='productlist-index-include-header' append}
   {opcMountPoint id='opc_before_result_wrapper'}
{/block}
Dann habt ihr noch einen MountPoint der nicht bei Nutzung der Pagination neugeladen wird.

Viele Grüße
Michael
Hallo Michael,

Vielen Dank für die schnelle und unerwartet simple Lösung! Ich hab das gerade ausprobiert und soweit sieht auf den ersten Blick alles gut aus, das Banner bleibt oben bestehen und die Artikel wechseln auf die nächste Seite.
Komischerweise bleibt aber ein Teil des Problems trotzdem noch bestehen, zwar bleibt das Banner oben aber beim wechseln der Seite taucht es dann trotzdem plötzlich wieder unter dem Footer auf und stapelt sich bis ins unendliche oder bis die Seite vollständig neu geladen wird. Da ich dachte dass das <img> wegen dem neu laden nach unten rutscht, ist dieses verhalten nun umso eigenartiger.
Hast du dazu noch eine Idee (mit dem Link aus dem ursprünglichen Post kann dieses neue Verhalten nachvollzogen werden)?

Viele Grüße
apalusa
 

apalusa

Sehr aktives Mitglied
22. Oktober 2018
275
76
Hallo,

wenn man die Pagination betätigt wird die ganze div (<div id="result-wrapper") ausgetauscht, also auch einschließlich des MountPoints opc_before_heading. Ich kann mir vorstellen, dass Javascript das man da einbindet irgendwie Probleme macht..
Was ihr probieren könnt, wäre einfach noch einen eigenen MountPoint einzufügen, also z. B. per Child-Template in der productlist/index.tpl sowas machen:
HTML:
{block name='productlist-index-include-header' append}
   {opcMountPoint id='opc_before_result_wrapper'}
{/block}
Dann habt ihr noch einen MountPoint der nicht bei Nutzung der Pagination neugeladen wird.

Viele Grüße
Michael
Hast du dazu noch eine Idee (mit dem Link aus dem ursprünglichen Post kann dieses neue Verhalten nachvollzogen werden)?
Ich befürchte fast dass das Problem aus dem Javascript dass abgerufen wird stammt und deshalb vermutlich nicht über Änderungen im JTL Shop behoben werden kann, oder? Zumindest kam mir bisher noch keine zündende Idee, wie man so ein Verhalten unterbinden oder "korrigieren" könnte.
 

apalusa

Sehr aktives Mitglied
22. Oktober 2018
275
76
Dann habt ihr noch einen MountPoint der nicht bei Nutzung der Pagination neugeladen wird.
Hallo Michael,

heute musste ich leider feststellen dass diese Lösung inzwischen scheinbar nicht mehr funktioniert. Inzwischen haben wir unseren Shop im Live Betrieb auf Version 5 aktualisiert und schon lange Zeit im Einsatz. Bei der anfänglichen Prüfung hat die hier beschrieben Lösung auch wie im Testshop funktioniert, aber heute habe ich bemerkt, dass dem nicht mehr so ist. Selbst der Mount Point über dem Result Wrapper sorgt jetzt für duplizierten OPC Content.
Ich vermute mal dass dieses Verhalten durch eines der folgenden Updates aufgetreten ist, handelt es sich dabei um einen Fehler oder hat sich lediglich die Stelle verändert, an der wir diesen Mounting Point einbauen müssen? Falls letzteres der Fall ist, können wir das Template einfach anpassen und bestehende Snippets bleiben bestehen sofern der Mounting Point den selben Namen hat oder müssten wir alles was an diesem eingebaut wurde manuell auf den neuen umziehen?

Vielen Dank im Voraus für die Prüfung und Rückmeldung.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu OPC Grid Layout Reihenfolge unlogisch? Allgemeine Fragen zu JTL-Shop 1
Neu Banner per OPC auf Artikelseite Allgemeine Fragen zu JTL-Shop 5
Neu OPC Bildgröße im Product Stream anpassen. Allgemeine Fragen zu JTL-Shop 1
Neu OPC Richtext speichert keine Links JTL-Shop - Fehler und Bugs 14
Neu Platzhalter für OPC-Portlets in Seitentext einbauen Allgemeine Fragen zu JTL-Shop 1
Neu OPC friert beim speichern von Änderungen ein nach JTL-Shop Update von Version 5.1.5 auf 5.6.1 JTL-Shop - Fehler und Bugs 6
Trackingnummern werden falsch importiert ab 3 Paketen JTL-Wawi 1.10 0
Nach dem Update werden die Drucker nicht mehr erkannt JTL-Wawi 2.0 1
Manche Produkte werden nicht erkannt JTL/ Shopify JTL-Wawi 2.0 3
Neu Muss bei DHL Express ebenfalls was geändert werden, aufgrund DHL 4.0? User helfen Usern - Fragen zu JTL-Wawi 1
Neu GPSR Hersteller werden im Shop nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Zugriff verweigert nach Umzug auf neuen Rechner, X-Rechnung kann nicht gespeichert werden JTL-Wawi 1.11 4
Kaufland.pl - Aufträge werden nicht importiert. kaufland.de - Anbindung (SCX) 1
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 1
1.11.8 - Mengen aus FBA Umlagerungen werden nicht vom verfügbaren Bestand abgezogen JTL-Wawi 1.11 3
Neu Amazon Lagerbestandsberichte werden nicht abgeholt. Amazon-Anbindung - Fehler und Bugs 9
Eingangsrechnungen mit Einstellung "Nur gelieferte Positionen übernehmen" - Versandkosten werden nicht mit übernommen JTL-Wawi 1.11 4
Neu Anbindung von JTL zu Metro (Rechnungen werden nicht zu Metro übertragen) User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bankdaten in Wawi V1.11.7 werden vererbt und nicht aktualisiert User helfen Usern - Fragen zu JTL-Wawi 2
Lieferscheine können nicht gelöscht werden JTL-Wawi 2.0 4
Beantwortet Einstellen welche Aufträge / Zahlungen übertragen werden Shopware-Connector 0
Neu Strukturierte Daten vom Typ "Produkt" werden nach Update auf JTL Shop 5.6.1 nur fehlerhaft erkannt JTL-Shop - Fehler und Bugs 3
Neu Exchange Konto kann nicht eingerichtet werden für E-Mail Versand User helfen Usern - Fragen zu JTL-Wawi 2
GPSR Daten werden nicht korrekt an Amazon übermittelt JTL-Wawi 1.10 0
Neu Variantenwerte werden nicht im Auftrag angezeigt Shopware-Connector 6
Falsche Vorlagen Dateien werden verwendet JTL-Wawi 1.7 1

Ähnliche Themen