Neu Google Kundenrezensionen einbauen in Bestellabschluss

j0e

Gut bekanntes Mitglied
29. Oktober 2017
103
3
Entschuldigung, da war meine Antwort wohl nicht eindeutig. Das Problem ist gelöscht. Danke dir!

Die special Chars waren in dem HTML Kommentar versteckt, so wie in dem Code Snipped zu sehen.
 

j0e

Gut bekanntes Mitglied
29. Oktober 2017
103
3
Bei Google wurde mir auf mein Problem geantwortet:
Code:
Get in touch with your eCommerce platform support to find out how to change it to UTF-8

Da muss ich Google auch recht geben. Ich glaub es war 2002, als ich das letzte mal mit Codierungsproblemen und einem anderen Set als UTF-8 in Berührung gekommen bin.
 

Stephs182

Sehr aktives Mitglied
21. Januar 2015
248
25
Luckau NL
Nun nochmal eine Frage: In der optionalen Schleife sind ja nach dem Barcode {rdelim} ein Komma nach Anleitung

"products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}]

Wie bekommt man hin, das ich hier in der Schleife erkenne, ob noch was kommt, dann das Komma setze oder wenn dies die letzte Position ist, ich kein Komma mehr setze? Hier in dem Tracking ist es vielleicht nicht ganz so relevant, aber andere Tracker, reagieren da schon empfindlich drauf.

JavaScript:
/ OPTIONAL FIELDS
          "products": [
          {foreach from=$Bestellung->Positionen item=KonfigPos}
              {if !empty($KonfigPos->cBarcode)}
                 {ldelim}"gtin":" {$KonfigPos->cBarcode}"{rdelim},
              {/if}
          {/foreach}       
          ]
 

karabey

Sehr aktives Mitglied
28. November 2012
909
74
Nun nochmal eine Frage: In der optionalen Schleife sind ja nach dem Barcode {rdelim} ein Komma nach Anleitung



Wie bekommt man hin, das ich hier in der Schleife erkenne, ob noch was kommt, dann das Komma setze oder wenn dies die letzte Position ist, ich kein Komma mehr setze? Hier in dem Tracking ist es vielleicht nicht ganz so relevant, aber andere Tracker, reagieren da schon empfindlich drauf.

JavaScript:
/ OPTIONAL FIELDS
          "products": [
          {foreach from=$Bestellung->Positionen item=KonfigPos}
              {if !empty($KonfigPos->cBarcode)}
                 {ldelim}"gtin":" {$KonfigPos->cBarcode}"{rdelim},
              {/if}
          {/foreach}      
          ]
Eine foreach last iteration würde das erledigen.
 

Conny

Sehr aktives Mitglied
7. September 2009
557
60
Ich versuche es mal - ist aber ungetestet.
Erst setzte ich den String zusammen und entferne dann das letzte Komma, bevor ich ihn ausgebe

Im Child Template die Datei: /checkout/order_completed.tpl (erstellen oder ergänzen) und folgenden Code eintragen
Im Code bei "merchant id" deine ID eintragen

JavaScript:
{extends file="{$parent_template_path}/checkout/order_completed.tpl"}

{block name="order-completed" append}
<!-- ANFANG Code für Google Kundenrezensionen -->
<strip>
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
    window.___gcfg = {ldelim} lang: 'de' {rdelim};
 
    window.renderOptIn = function() {ldelim}
        window.gapi.load('surveyoptin', function() {ldelim}
            window.gapi.surveyoptin.render(    {ldelim}
                "merchant_id": "HIER DEINE ID EINTRAGEN" ,
                "order_id": "{$Bestellung->cBestellNr}",
                "email": "{$Kunde->cMail}",
                "delivery_country": "{$Kunde->cLand}",
                "estimated_delivery_date": "{"+5 day"|date_format:"%Y-%m-%d"}",
         
                / OPTIONAL FIELDS
                "products": [
           
                {* Ergebnis erst mnal als String zusammenbauen *}
                {assign var="erg" value=""}
                {foreach from=$Bestellung->Positionen item=KonfigPos}
                    {if !empty($KonfigPos->cBarcode)}
                        {$erg = {$erg|cat: '{ldelim}"gtin":" '}}
                        {$erg = {$erg|cat: {$KonfigPos->cBarcode} }}
                        {$erg = {$erg|cat: '{rdelim},'}}
                    {/if}
                {/foreach}
         
                {* letztes Komma wieder entfernen *}
                {if !empty($erg)}
                    {$str_lang = {$erg|count_characters:true}}
                    {$erg|truncate:$str_lang-1}
                {/if}
           
                ]
            {rdelim});
        {rdelim});
    {rdelim}
</script>
</strip>
<!-- ENDE Code für Google Kundenrezensionen -->
{/block}

Wenn es passt dann bitte ein "Gefällt mir" klicken !
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: karabey

Stephs182

Sehr aktives Mitglied
21. Januar 2015
248
25
Luckau NL
Ich muss das mal testen, ich hatte das nun anders gelöst.

Ein bissel anderer Code für nen anderen Anbieter, aber ich hatte das letztendlich so gemacht:
Code:
    {assign var=i value=$Bestellung->Positionen|@count}
    {foreach name=Bestell item=order from=$Bestellung->Positionen}
         {assign var=i value={math equation="x - 1" x=$i}}  
                {if $order->nPosTyp == 1}
                    ['buy',    '{$order->cArtNr}',    '{$order->cName}', '{$order->Artikel->Preise->fVKBrutto}', '{$order->Category}', '{$order->nAnzahl|replace:",":"."}', 'NULL' , 'NULL' , 'NULL' ]{if $i == 1}];{else},{/if}
                {/if}
    {/foreach}