PayPal Button auf Produktseite im Honeygrid-Theme wird nicht immer angezeigt

Thema wurde von Dominik Späte, 19. Januar 2024 erstellt.

  1. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.197
    Danke erhalten:
    1.081
    Danke vergeben:
    372
    Einige kennen ja das Problem: Die PayPal Express Checkout Buttons auf Produktseiten werden nur bei gefühlt jedem 3. - 5. Seitenaufruf angezeigt. Keine Hinweise in der Browserkonsole oder in den Gambio-Logs.

    Meinem Kenntnisstand nach tritt das Problem nur auf, wenn man die PayPal Buttons via Hub nutzt, das Honeygrid-Theme oder ein Child-Theme davon verwenden und eigene Overloads bestimmter Dateien (ich habe nicht geprüft, welche genau) in GXModules einsetzt.

    Das Gambio-Hub-Modul verwendet eine /GXModules/Gambio/Hub/Shop/Themes/Honeygrid/product_info_template_standard.html, die den Smarty-Block product_info_product_box_bottom_paypal erweitert. Diesen Block gibt es jedoch nicht in der gleichnamigen Original-Datei des Honeygrid-Themes, sondern in der /themes/Honeygrid/html/system/product_info_product_box_bottom.htm.

    Mit Malibu tritt das Problem nicht auf, weil die /GXModules/Gambio/Hub/Shop/Themes/Malibu/product_info_template_standard.html den Block product_info_template_standard_sticky_box_product_box_bottom erweitert und dieser befindet sich in der Original-Theme-Datei /themes/Malibu/html/system/product_info_template_standard.html.

    Es gibt mehrere Lösungswege. Ich hatte jetzt einfach die /GXModules/Gambio/Hub/Shop/Themes/Honeygrid/product_info_template_standard.html kopiert nach /GXModules/Gambio/Hub/Shop/Themes/Honeygrid/product_info_product_box_bottom.html, damit der Overload des Hub-Moduls greift. Cache für Modulinformationen und Seitenausgabe geleert. Anschließend wurde der PayPal-Button zuverlässig angezeigt.

    Vielleicht kann das jemand bestätigen, hilft es jemandem weiter oder möchten @Till (Gambio) oder @Patrick (Gambio) da mal einen Blick drauf werfen…
     
  2. Marc Ohmert

    Marc Ohmert Erfahrener Benutzer

    Registriert seit:
    6. Februar 2018
    Beiträge:
    112
    Danke erhalten:
    33
    Danke vergeben:
    27
    Hallo Dominik,

    kurze Frage:

    was heisst bei Dir "nach ...... kopiert"?

    Hast Du den Inhalt der Datei "product_info_template_standard.html" in die Datei "product_info_product_box_bottom.html" kopiert, oder soll einfach die erste Datei auch in den Ordner wo die 2. Datei liegt?

    Denn bei mir gibt es die 2. Datei in dem angegebenen Verzeichnis gar nicht. Oder die 1. Datei umbennen in den Namen der 2. Datei?
     
  3. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.197
    Danke erhalten:
    1.081
    Danke vergeben:
    372
    Hi Marc,

    die "product_info_template_standard.html" kopieren, die Kopie "product_info_product_box_bottom.html" nennen und ins selbe Verzeichnis laden:

    hub.png

    Das würde bestimmt auch funktionieren, überlassen wir aber lieber Gambio ;)
     
  4. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.801
    Danke erhalten:
    1.401
    Danke vergeben:
    309
    Wir kennen das Problem und sind dabei das zu untersuchen. Was wir bis jetzt herausgefunden haben ist, wenn der folgende Block fehlt, wird der PayPal Button nicht angezeigt:

    HTML:
    {block name="product_info_product_box_bottom_paypal"}
        {$smarty.block.parent}
        <div class="paypal-installments paypal-installments-product" data-ppinst-pos="product" data-partner-attribution-id="GambioGmbH_Cart_Hub_PPXO"></div>
        <div id="easycredit-ratenrechner-product" class="easycredit-rr-container"
             data-easycredithub-namespace="GXModules/Gambio/Hub/Build/Shop/Themes/All/Javascript/easycredithub"
             data-easycredithub-widget="easycreditloader"></div>
    {/block}
    
    Es scheint also wenn man die Blöcke da drumherum überlädt dass der Block der vom PayPal Modul hinzugefügt wird, erst später in der Überladungskette kommt, dieser nicht mehr hinzugefügt wird, wenn es bereits ein Overload für einen der übergeordneten Blöcke gibt.

    @Dominik Späte Du kannst ja mal schauen ob den oben genannten Block bei einen Overload bei dir irgendwie verloren geht.

    Eine allgemeine Lösung ist hier leider nicht so einfach, da es anscheinend mit der Reihenfolge wie die Blöcke in Smarty erzeugt werden hängt. Das ist dann tief im Smarty verankert und da müssen wir dann erstmal durchsteigen.