ich möchte gerne für Facebook Retargeting den Facebook Pixel auf meiner Seite integrieren um die Pageviews zu tracken. Dazu habe ich folgenden Code in die index.tpl meines Themes kopiert:
Danach habe ich sämtliche Caches gelöscht.Leider scheint das Pixel trotzdem nicht eingebunden zu werden. Der Facebook Pixel Helper erkennt kein Pixel auf meiner Seite (www.mixmyshampoo.de)
{block name ="frontend_index_header_javascript"}
...
{$smarty.block.parent}
{/block}
Smarty hat oft Probleme mit prepend und append und bindet den Block nicht mit ein. Mit dem smarty.block.parent kann man das dann schon mal umgehen.
Dann ist die Frage: Muss der in den body oder den header?
Wenn in den body dann ist der Block schon mal richtig und oben in deinem File steht dann hoffentlich auch sowas wie
{extends file="parent:frontend/index/index.tpl"}
Wenn der Tracking code in den head-Bereich einer Seite gehört, dann muss ganz oben in deiner Theme-Datei sowas stehen:
{extends file="parent:frontend/index/header.tpl"}
und der Block wäre dann ein anderer nämlich dieser:
{* Block for tracking codes which are required to include in the `head` section of the document *}
{block name="frontend_index_header_javascript_tracking"}{/block}
Nach Änderungen einfach immer die Shopware-Caches löschen und das Theme kompilieren. Und dann vom Browser die Seite neu generieren lassen.
Vielen Dank erstal für Deine ausführliche Antwort! Ich habe jetzt einiges ausprobiert, scheine aber noch nicht die richtige Lösung umgesetzt zu haben. Anbei der aktuelle Code aus meinder index.tpl (der Facebook Pixel Code steht ganz unten). Habe ich da vielleicht was falsch gemacht?
Keine Ahnung, habe das noch nie umgesetzt und kann dir nur das von mir oben gesagte wiederholen.
Deine Index.tpl ist aber viel zu lang. Du überschreibst ja in deinem Theme die gesamte Datei. Das ist ja so nicht gewollt. Du willst ja nur einen Teil ändern. In deiner Index.tpl stehen wirklich NUR die Änderungen drin. Wie oben bereits geschrieben, und angenommen der Code gehört in den Body-Teil der Seite, dann besteht deine Index.tpl NUR aus diesem bischen Code:
{extends file="parent:frontend/index/index.tpl"}
{block name="frontend_index_javascript"}
DEIN CODE
{$smarty.block.parent}
{/block}
Das ist wirklich alles. Wenn der Code in den Head-Bereich der Seite soll legst du eine frontend/index/header.tpl in deinem Theme an und schreibst in der ersten Zeile eben nicht extends von index sondern extends von header.tpl und der Block ist dann eber der frontend_index_header_javascript_tracking
Bist Du Dir sicher, dass die Variable $Controller und nicht $controller heißt? Du solltest auch prüfen, ob das Script im HTML Output zu sehen ist. Nur weil FB den Code nicht findet heißt es nicht, dass er nicht doch ausgegeben wird und Du vielleicht an der völlig falschen Stelle suchst.
Ansonsten kann ich mich steinsoftware nur anschließen.
Hallo zusammen, vielen lieben Dank nochmals für die tatkräftige Unterstützung! Ich habe den Code jetzt im Headbereich wie beschrieben eingefügt und hohe Anführungszeichen vor und hinter der Trackingnummer eingetragen. Jetzt wird der Pixel im Quelltext ausgegeben und von Facebook erkannt Bin happy! Danke!!