gelöst checkout_success.php (Hauptverzeichnis) updatesicher machen?

Thema wurde von pema, 5. Juni 2018 erstellt.

  1. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Hallo zusammen,

    wir hatten ein Problem mit der TrustedShops Integration und der Support hat uns angewiesen einen Codeabschnitt in der /checkout_success.php einzufügen. Ersetzt wurde nichts, nur neu eingefügt.

    Kann man diese Datei auch updatesicher auf dem FTP ablegen?
    Bin was PHP angeht absolut nicht sicher wie und wo und was :)

    Danke sehr!
     
  2. Moritz (Gambio)
    Moritz (Gambio) Administrator
    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.694
    Danke vergeben:
    903
    Hallo,

    die checkout_success.php kannst du nicht direkt updatesicher erweitern, aber ich glaube nicht, dass das tatsächlich notwendig ist. Was für ein Code ist das bei dir?
     
  3. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Danke dir Moritz.

    Der Code ermöglicht die Aktivierung des Käuferschutzes und die automatische Einholung von Bewertungen zum Kauf.
    Ich vermute, dass beim Umstieg von EyeCandy auf Honeygrid etwas schief gelaufen ist, da erst ab Honeygrid die Integration nicht mehr reibungslos lief. Zudem wurde jetzt eben nicht die checkout_success.html im template Ordner angepasst, was mich vermuten lässt, dass da etwas schief gelaufen ist.
     
  4. Moritz (Gambio)
    Moritz (Gambio) Administrator
    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.694
    Danke vergeben:
    903
    Könntest du den Code hier posten oder ist der shopspezifisch oder enthält sensible Daten?
     
  5. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Achso, klar sorry :)

    PHP:
    //Trusted Shops Code START
    $orders xtc_db_fetch_array(xtc_db_query("select orders_id, payment_method, customers_email_address, payment_method from ".TABLE_ORDERS." where customers_id = '".$_SESSION['customer_id']."' order by orders_id desc limit 1"));
      
    $ts_last_order $orders['orders_id'];
      
    $ts_last_email $orders['customers_email_address'];
      
    $ts_last_method =$orders['payment_method'];
    $orders2 xtc_db_fetch_array(xtc_db_query("select value from ".TABLE_ORDERS_TOTAL." where orders_id = '".$ts_last_order."' order by orders_id desc limit 1"));
    $ts_last_summe $orders2['value'];
    print_r('<div id="trustedShopsCheckout" style="display: none;">'.PHP_EOL.
          
    '    <span id="tsCheckoutOrderNr">'.$ts_last_order.'</span>'.PHP_EOL.
          
    '    <span id="tsCheckoutBuyerEmail">'.$ts_last_email.'</span>'.PHP_EOL.
          
    '    <span id="tsCheckoutOrderAmount">'.$ts_last_summe.'</span>'.PHP_EOL.
          
    '    <span id="tsCheckoutOrderCurrency">EUR</span>
          <span id="tsCheckoutOrderPaymentType"> '
    .$ts_last_method.' </span></div>'.PHP_EOL);
    //Trusted Shops Code END
    Der Code ist eine Anpassung für die Anleitung hier:
    http://support.trustedshops.com/de/apps/generator
     
  6. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Bitte lasst die Finger von solchen Schnippseln, wenn die nicht explizit für eure Gambio(!!)-Shopsystemversion gedacht sind. Das da oben ist Code für einen xt:Commerce-Shop. Im Gambio-Shopsystem ist diese Funktionalität bereits enthalten, steckt im TrustBadgeCheckoutSuccessExtender, falls es sich jemand genauer ansehen möchte.

    Es genügt vollkommen, wenn das Trusted-Shops-Modul installiert und konfiguriert ist, mehr ist da nicht zu tun.
     
  7. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    Marco hat recht, der Shop hat bereits ein Modul für Trusted-Shop integriert auch mit der Anmeldung zum Käuferschutz am Ende des Bestellvorgangs. In einer aktuellen Shopversion muss man keine manuellen Anpassungen mehr vornehmen, das ist bereits alles vorkonfiguriert. Es reicht wenn man unter "Module->Modul-Center" das Modul für "Trusted-Shops" konfiguriert und die entsprechenden Optionen aktiviert. Es sind keinerlei Anpassungen am Quellcode dafür nötig.
     
  8. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Danke für die Tipps.
    Aber dann liegt da glaube ich ein Bug vor.

    Als wir vor einigen Monaten den TS Dienst gebucht haben, lief bei uns noch GX 2.8 oder 3.0 mit EyeCandy.
    Unter EyeCandy hat alles auch super mit Bordmitteln funktioniert, sowohl Käuferschutz als auch die automatische Einholung von Kundenbewertungen.
    Nach Umstieg auf GX 3.9 und Honeygrid ging das TS Modul nicht mehr, auch in unserem TS Konto wurde angezeigt, dass die Integration fehlerhaft sei.
    Daraufhin haben wir das TS Modul deinstalliert, neu installiert und neu eingerichtet - ohne Erfolg.
    Dann habe ich mich an den TS Support gewandt.
    Die Antwort war:

    Die checkout success Seite haben wir aber nicht angerührt. Mir ist aber aufgefallen, dass /templates/EyeCandy/module/checkout_success.html und /templates/Honeygrid/module/checkout_success.html im TS Abschnitt anders sind. In EyeCandy war nämlich ein DIV Elemente eingebaut, welches ich jedoch nicht per usermod in Honeygrid einbinden/übertragen konnte. Desweiteren ist die Struktur der entsprechenden if-Abfrage und Blöcke komplett anders.

    So kam die Lösung mit der checkout_success.php zustande und war eine Anleitung von TS.

    Was kann ich jetzt in diesem Fall machen? Bin euch sehr dankbar für die Hilfe :oops:
     
  9. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Man kann jetzt nur raten, dass irgendwas an der Modulkonfiguration nicht ganz richtig ist. Wenn du uns ein Supportticket reinreichst, sehen wir uns das genauer an.
     
  10. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Danke sehr, habe gerade ein Ticket erstellt.
     
  11. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Kurzer Blick in deine TrustedShops-Konfiguration: Du hast zwar den Snippet-Code für die TrustBadge hinterlegt, die Badge aber nicht aktiviert. Die Badge ist aber das zentrale Element für die Trusted-Shops-Integration, ohne funktioniert da praktisch gar nichts.
     
  12. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Das Problem ist, dass wenn das TrustedBadge dort aktiviert ist, es unten rechts auf der Seite erscheint. Wir wollen es aber im Header haben. Daher haben wir den Code generiert, der hier bei TS für eine individuelle Darstellung hergenommen werden soll, und ihn im Content Manager in den Header kopiert. Wenn das Modul aktiv ist und der Header Code vorhanden sind, erscheint das Badge wieder nur unten rechts.
     
  13. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Warum kopierst du den Badge-Snippet in den Content-Manager und nicht in die Trusted-Shops-Konfiguration?!
     
  14. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Jetzt hat es Klick gemacht.
    In der TS Konfiguration war schon der ganze Code, ich hatte aber im Header auch nochmal den gesamten Script-Code + das dafür vorgesehen DIV. Ich dachte, dass Script-Code und DIV immer zusammen an eine Stelle gehören.

    Ich habe jetzt die checkout_success.php wieder hergestellt, in der TS Konfiguration nur den Code gelassen, das Modul aktiviert und im Header nur das DIV Element eingesetzt.
    Und....es läuft :) Danke, das Ticket kann dann auch geschlossen werden.
     
  15. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    12. Februar 2014
    Beiträge:
    207
    Danke erhalten:
    47
    Danke vergeben:
    307
    Wenn ich mich hier mal kurz ranhängen darf, da das Thema gerade passt: Wenn ich den Review Sticker in der Trusted Shops Konfiguration nutzen möchte (bevorzugt in der "testimonial" Variante), gibt es dann auch ein div, mit dem man das an eine beliebige Position verschieben kann? Konnte dazu bei Trusted Shops nichts finden, die schreiben nur, man soll den Script Code an die jeweilige Stelle im Shop kopieren.
     
  16. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Ich muss mich jetzt auch nochmal melden.
    Scheinbar war das noch eine Cache-Fehler, denn trotz der oben genannten Lösung erscheint das Badge jetzt wieder nur unten rechts.
    Was muss man nun machen, damit das Modul richtig arbeitet und wir das Badge im Header platzieren können?
     
  17. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    7. Juni 2018
    Beiträge:
    82
    Danke erhalten:
    2
    Danke vergeben:
    65
    #17 Anonymous, 10. Juni 2018
    Zuletzt bearbeitet: 10. Juni 2018
    upload_2018-6-10_7-56-49.png
    Ich bin mir nicht sicher, ob ich helfen kann (Gambio Neuling), aber wir haben gestern in unser Gambioshop in Headerbereich Logo vom OnTrust aufgenommen (s. Bild oben). Shop ist noch offline.
    Und so haben wir es gemacht:
    Content Manager/Elemente/Header editieren und unter HTML diesen Code eingefügt:

    <a href="(Link nur für registrierte Nutzer sichtbar.)" target="_blank" title="OnTrustNet - Demo-Zertifikat pr&uuml;fen">
    <img src="(Link nur für registrierte Nutzer sichtbar.)" width="86" height="86" border="0" />
    </a>

    Ist noch ein Demo, aber da wo wir es haben wollten (zwischen Suche und Warenkorb im Header).
     
  18. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    @Pogo Das hilft hier überhaupt nicht, die TrustedShops-Badge wird völlig anders eingebunden.
     
  19. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Hier gibt es eine Anleitung für solche Custom-Badges: https://www.trustedshops.de/shopbetreiber/integration/trustbadge/trustbadge-custom/

    Ich hab das eben mal ausprobiert, man kann den Platzhalter für die Badge
    HTML:
    <div id="MyCustomTrustbadge" style="width:160px;height:80px"></div>
    auch per Content-Manager in den Header einfügen. Der CM zeigt das dann aber nach dem Speichern nicht wieder an; ein Smarty-Block-Overload wäre da wohl eine bessere Lösung.

    Mein Badge-Code sieht so aus:

    <script type="text/javascript">
    (function () {
    var _tsid = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    _tsConfig = {
    'yOffset': '0', /* offset from page bottom */
    'variant': 'custom_reviews', /* reviews, default, custom, custom_reviews */
    'customElementId': 'MyCustomTrustbadge', /* required for variants custom and custom_reviews */
    'trustcardDirection': 'topRight', /* for custom variants: topRight, topLeft, bottomRight, bottomLeft */
    'customBadgeWidth': '160', /* for custom variants: 40 - 90 (in pixels) */
    'customBadgeHeight': '80', /* for custom variants: 40 - 90 (in pixels) */
    'disableResponsive': 'false', /* deactivate responsive behaviour */
    'disableTrustbadge': 'false', /* deactivate trustbadge */
    };
    var _ts = document.createElement('script');
    _ts.type = 'text/javascript';
    _ts.charset = 'utf-8';
    _ts.async = true;
    _ts.src = '//widgets.trustedshops.com/js/' + _tsid + '.js';
    var __ts = document.getElementsByTagName('script')[0];
    __ts.parentNode.insertBefore(_ts, __ts);
    })();
    </script>
     
  20. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    #20 pema, 11. Juni 2018
    Zuletzt bearbeitet: 11. Juni 2018
    Danke Marco, damit klappt das jetzt.
    Das DIV Element wird bei mir im Header gespeichert.
    Ich habe nur die Abmessungen auf 120x60 geändert und aus die Variante custom_reviews in reviews geändert.
    Die von dir verlinkte Anleitung ist aber eben wegen Schritt 6 sehr unübersichtlich. Genau daran haben wir uns ursprünglich gehalten und dann gab es keinen Käuferschutz oder die automatische Bewertungsbenachrichtigungen bei Bestellabschluss. Aus genau diesem Grund entstand im Grunde dieser Thread :)

    @Pogo
    Probiere mal die px Angaben des Bildes zu ändern. Z.B. in 60 x 60, statt 86 x 86. Der Hederbereich ist idR 60 Pixel hoch.