Henry: Fragen zum Quellcode einer Webseite

Hallo,

bezogen auf den Online-Shop www.kommunionsgeschenke-direkt.de möchte ich eine dynamische Remarketing-AdWords-Kampagne erstellen. Diesbezüglich habe ich dem Programmierer eine Anleitung übermittelt, in der unter anderem auch erklärt wird das die Parameter

• ecomm_prodid • ecomm_pagetype • ecomm_totalvalue

dynamisch bezogen auf die Produktdetailseiten angepasst werden müssen. Der Programmierer hat mir nun gesagt, er hätte es bezogen auf die Produktdetailseiten wie von mir gewünscht angepasst. Um seine Anpassungen zu überprüfen habe ich mir einfach mal folgende Produktdetailseite aufgerufen und in den Quellcode geschaut:

https://www.kommunionsgeschenke-direkt.de/bicolor-goldkreuz-mit-kette/a-60726/

Der im Quellcode vorhandene Remarketing-Code sieht so aus:

<!-- Google Code für ein Remarketing-Tag --> <!-------------------------------------------------- Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden, die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags erhalten Sie unter: http://google.com/ads/remarketingsetup ---------------------------------------------------> <script type="text/javascript"> var google_tag_params = { ecomm_prodid: '$ItemID', ecomm_pagetype: 'product', ecomm_totalvalue: '$ItemAmountGrossDot', }; </script> <script type="text/javascript"> /* <![CDATA[ / var google_conversion_id = 1008878955; var google_custom_params = window.google_tag_params; var google_remarketing_only = true; / ]]> */ </script> <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/1008878955/?value=0&amp;guid=ON&amp;script=0"/> </div> </noscript>

Seltsamerweise sind den Parametern

• ecomm_prodid • ecomm_pagetype • ecomm_totalvalue

auf der Produktdetailseite keine konkreten Werte zu gewiesen sondern Variablen (siehe nachfolgend):

ecomm_prodid: '$ItemID', ecomm_pagetype: 'product', ecomm_totalvalue: '$ItemAmountGrossDot',

Ich bin mir gerade unsicher, ob das so richtig implementiert ist. Werden die Variablen z.B. '$ItemID' dynamsich ersetzt? Falls ja kann ich irgendwie prüfen, welche Werte auf der jeweiligen Produktseite hinter den Variablen stecken?

  1. @@Henry:

    auf der Produktdetailseite keine konkreten Werte zu gewiesen sondern Variablen (siehe nachfolgend):

    ecomm_prodid: '$ItemID', ecomm_pagetype: 'product', ecomm_totalvalue: '$ItemAmountGrossDot',

    Ich bin mir gerade unsicher, ob das so richtig implementiert ist.

    Könnte sein, dass der PHP-Entwickler den Unterschied zwischen einfachen und doppelten Anführungszeichen nicht kennt.

    Werden die Variablen z.B. '$ItemID' dynamsich ersetzt?

    Templatesprachen sehen anders aus.

    LLAP

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. auf der Produktdetailseite keine konkreten Werte zu gewiesen sondern Variablen (siehe nachfolgend):

      ecomm_prodid: '$ItemID', ecomm_pagetype: 'product', ecomm_totalvalue: '$ItemAmountGrossDot',

      Ich bin mir gerade unsicher, ob das so richtig implementiert ist.

      Könnte sein, dass der PHP-Entwickler den Unterschied zwischen einfachen und doppelten Anführungszeichen nicht kennt.

      Ich bin leider kein Programmierer und muss deshalb nochmal etwas genauer nachfragen. Was ist denn bezogen auf PHP der Unterschied zwischen einfachen und doppelten Anführungszeichen? Hätte der Prgramierer "$ItemID" statt '$ItemID' schreiben müssen, damit "$ItemID" Serverseitig per PHP durch einen konkreten Wert ersetzt wird und nicht 1:1 als '$ItemID' in den Quellcode übernommen wird?

      Werden die Variablen z.B. '$ItemID' dynamsich ersetzt?

      Templatesprachen sehen anders aus.

      Ja genau, '$ItemID' soll abhängig von der jeweiligen Produktdetailseite jeweils die ID der Produktes auf der Detailseite enthalten. Du Schreibst "Templatesparchen sehen anders aus", was willst du mir hiermit sagen, gibt es neben den falschen Anführungszeichnen noch einen Syntaxfehler?

      1. Moin,

        Könnte sein, dass der PHP-Entwickler den Unterschied zwischen einfachen und doppelten Anführungszeichen nicht kennt. Ich bin leider kein Programmierer und muss deshalb nochmal etwas genauer nachfragen. Was ist denn bezogen auf PHP der Unterschied zwischen einfachen und doppelten Anführungszeichen? Hätte der Prgramierer "$ItemID" statt '$ItemID' schreiben müssen, damit "$ItemID" Serverseitig per PHP durch einen konkreten Wert ersetzt wird und nicht 1:1 als '$ItemID' in den Quellcode übernommen wird?

        ja, vermutlich ist das so gemeint.

        Werden Strings in PHP mit einfachen Anführungszeichen notiert, dann werden die 1:1 so ausgegeben, wie sie da stehen. Kommt im String die Zeichenfolge $foo vor, dann sind das eben die Zeichen Dollar, f, o, o. Eine Interpretation findet nicht statt. Setzt man Strings dagegen in doppelte Anführungszeichen, dann ersetzt PHP darin vorkommende Bezeichner von Variablen durch den zum jeweiligen Zeitpunkt aktuellen Wert. Außerdem werden einige Steuerzeichen wie etwa \r, \n, \t interpretiert, was bei der Verwendung von einfachen Anführungszeichen auch nicht passiert.

        Du Schreibst "Templatesparchen sehen anders aus", was willst du mir hiermit sagen, gibt es neben den falschen Anführungszeichnen noch einen Syntaxfehler?

        Gunnar meinte wohl eher, dass das nicht nach einer Templatesprache aussieht, sondern nach einer Entgleisung des Programmierers. In typischen Templatesprachen werden variable Teile oft speziell geklammert, etwa {{ItemID}} oder [[foobar]], so dass die Wahrscheinlichkeit möglichst gering ist, dass diese Symbolik mit Nutzinhalt kollidiert.

        Ciao,  Martin

        --
        Krankenschwester zum fassungslosen Vater von Drillingen: Nein, Sie sollen sich keins aussuchen! Alle drei sind Ihre! Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. Lieber Henry,

    ganz einmal abgesehen von Deinem aktuellen Problem: Die Seite validiert nicht! Im Quelltext steht ungültiges Markup für "HTML4.01 Transitional". Einige Features scheinen für HTML5 gedacht - da sollte man den DOCTYPE entsprechend anpassen, was dann prompt zu weniger Fehlern führt.

    Liebe Grüße,

    Felix Riesterer.

    --
    "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)