moebel.de JavaScript Sales Tracking Code in dem finish.tpl einbinden

Hallo zusammen,

als Partner von moebel.de muss man einen JavaScript für das moebel.de Sales Tracking am Ende der Abschlussseite des Warenkorbs innerhalb des

Tags einbinden.

Der Shopware Support hat mir gesagt, dass folgendes Template verwendet werden muss: shopware/finish.tpl at 5.2 · shopware/shopware · GitHub

Beispiel-Code

Soviel zur Theorie. Nun stellt sich mir die Frage wie ich das ganze praktisch umsetze. Einfach Template anpassen und wieder auf den Server laden? Oder muss ich mir dafür eine Agentur suchen, da das ganze nicht so einfach ist wie ich mir das vorstelle?

Hat jemand schon Erfahrungen mit dem moebel.de Sales Tracking? Ein Plugin dafür gibt es ja leider nicht mehr, oder?

Viele Grüße
Jule

@juliritt schrieb:

Hallo zusammen,

als Partner von moebel.de muss man einen JavaScript für das moebel.de Sales Tracking am Ende der Abschlussseite des Warenkorbs innerhalb des Tags einbinden.

Der Shopware Support hat mir gesagt, dass folgendes Template verwendet werden muss: https://github.com/shopware/shopware/blob/5.2/themes/Frontend/Bare/frontend/checkout/finish.tpl

Beispiel-Code

  1. var _mo = _mo || ;
  2. _mo.push([‚_key‘, ‚XXX‘]);
  3. _mo.push([‚_umsatz‘,‚X.XX‘]);  Bitte übergeben Sie hier den Netto-Wert!
  4. _mo.push([‚_versandkosten‘,‚X.XX‘]);
  5. _mo.push([‚_artikelliste‘,‚XXX,YYY‘]);
  6. _mo.push([‚_attribution‘, ‚true‘]);  Diese Zeile ist optional
  7. _mo.push([‚_attributionsanteil‘, ‚60‘]);  Diese Zeile ist optional
  8. (function() {
  9. var mo = document.createElement(‚script‘); mo.type = ‚text/javascript‘; mo.async = true;
  10. mo.src = 'https://sales1.moebel.de/asyndic.js’;
  11. var s = document.getElementsByTagName(‚script‘)[0]; s.parentNode.insertBefore(mo, s);
  12. })();

Soviel zur Theorie. Nun stellt sich mir die Frage wie ich das ganze praktisch umsetze. Einfach Template anpassen und wieder auf den Server laden? Oder muss ich mir dafür eine Agentur suchen, da das ganze nicht so einfach ist wie ich mir das vorstelle?

Hat jemand schon Erfahrungen mit dem moebel.de Sales Tracking? Ein Plugin dafür gibt es ja leider nicht mehr, oder?

Viele Grüße
Jule

Hallo,

also „einfach ein Template anpassen und wieder auf den Server schieben“ ist schonmal der völlig falsche Weg.

Du müsstest, wenn du das noch nicht hast, ein eigenes Theme erstellen („Einstellungen“ -> „Theme Manager“), das vom Responsiven Theme von Shopware ableitet. Danach müsstest du über die Shopware Vererbung einen Shopware Block in der Template-Datei „finish.tpl“ erweitern (prepend, append oder {$smarty.block.parent}), siehe: Getting started with Shopware templating . Alles andere wäre nicht updatesicher und würde bei jedem Shopware-Update wieder überschrieben werden.

Beste Grüße

Sebastian

hallo was du suchst ist folgendes und muss unter /themes/Frontend/DeinTHEME/frontend/checkout/finish.tpl gespeichert werden:

{extends file="parent:frontend/index/index.tpl"}

{block name="frontend_index_header_javascript" append}

{if ({controllerName|lower} eq "checkout" && {controllerAction|lower} eq "finish")}

var _mo = _mo || [];
_mo.push(['_key', 'XXX']);
_mo.push(['_umsatz','X.XX']);
_mo.push(['_versandkosten','X.XX']);
_mo.push(['_artikelliste','XXX,YYY']);
_mo.push(['_attribution', 'true']);
_mo.push(['_attributionsanteil', '60']);
function() {
var mo = document.createElement('script'); mo.type = 'text/javascript'; mo.async = true;
 mo.src = 'https://sales1.moebel.de/asyndic.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(mo, s);
})();

{/if}

{/block}

Jetzt musst du nur noch all die Variablen füllen (die X)  z.B.

aus dem hier:
_mo.push(['_artikelliste','XXX,YYY']);

das hier machen:
_mo.push(['_artikelliste','{foreach from=$sBasket.content item=product}{$product.ordernumber},{/foreach}']);

Das muss natürlich auf allen X was anderes sein. ich hab aber nich alles im kopf.

Edit: das ganze kannst du natürlich auch als Plugin lösen. Schreib mich an wenn du Hilfe brauchst.

1 „Gefällt mir“

@brettvormkopp schrieb:

hallo was du suchst ist folgendes und muss unter /themes/Frontend/DeinTHEME/frontend/checkout/finish.tpl gespeichert werden:

{extends file=„parent:frontend/index/index.tpl“}

{block name=„frontend_index_header_javascript“ append}

{if ({controllerName|lower} eq „checkout“ && {controllerAction|lower} eq „finish“)}

var _mo = _mo || ;
_mo.push([‚_key‘, ‚XXX‘]);
_mo.push([‚_umsatz‘,‚X.XX‘]);
_mo.push([‚_versandkosten‘,‚X.XX‘]);
_mo.push([‚_artikelliste‘,‚XXX,YYY‘]);
_mo.push([‚_attribution‘, ‚true‘]);
_mo.push([‚_attributionsanteil‘, ‚60‘]);
function() {
var mo = document.createElement(‚script‘); mo.type = ‚text/javascript‘; mo.async = true;
mo.src = ‚https://sales1.moebel.de/asyndic.js‘;
var s = document.getElementsByTagName(‚script‘)[0]; s.parentNode.insertBefore(mo, s);
})();

{/if}

{/block}

Jetzt musst du nur noch all die Variablen füllen (die X)  z.B.

aus dem hier:
_mo.push([‚_artikelliste‘,‚XXX,YYY‘]);

das hier machen:
_mo.push([‚_artikelliste‘,‚{foreach from=$sBasket.content item=product}{$product.ordernumber},{/foreach}‘]);

Das muss natürlich auf allen X was anderes sein. ich hab aber nich alles im kopf.

Edit: das ganze kannst du natürlich auch als Plugin lösen. Schreib mich an wenn du Hilfe brauchst.

Hallo,

damit diese Lösung überhaupt funktioniert, müsste der JavaScript-Code in {literal} … {/literal} stehen. Statt append würde ich aufgrund der Updatesicherheit auch eher {$smarty.block.parent} verwenden. Ebenso wird die Lösung wahrscheinlich gar nicht funktionieren, da es diesen Block in der Datei finish.tpl gar nicht gibt. Ich würde also eher folgendes verwenden:

{extends file="parent:frontend/checkout/finish.tpl"}

{block name="frontend_index_content"}
     {$smarty.block.parent}
     .....
{/block}

Beste Grüße

Sebastian

1 „Gefällt mir“

Naja, anstatt {literal} lieber {ldlim} und {rdlim} bei der einen function. Man muss nicht den ganzen Javascript code in literal hüllen damit er funktioniert. Der Sinn ist ja nur die geschweiften Klammern nicht als Smarty zu interepretieren. Ausserdem würde es dann wieder doof werden wenn die ganzen Variablen innerhalb von litereal eingefügt werden. Und der Block ist absolut richtig, da hier von index/index.tpl erweitert wird. Ich weiss deine Hilfen hier im Forum zu schätzen, aber manchmal spekuliertst du ganz schön viel.

Hallo,

vielen Dank für das ausführliche Feedback.

Ich sehe schon, dass ist doch nicht so einfach wie ich mir das vorgestellt habe. Dann suche ich mir lieber eine Agentur, die das für mich macht bevor ich meinen Shop crashe und nix mehr geht. Oder ich lasse das mit moebel.de :smiley:

Viele Grüße

Jule

Ich bin auch auf der Suche nach einer gut funktionierenden Lösung für die Aufgabe “tracking code moebel.de”… idealerweise via Plugin.

Gerne auch Kontaktaufnahme via Email unter kg at vintagedriver.de

Grüsse in die Runde.

Hallo vintagedriver,

hast du in der Zwischenzeit eine Lösung gefunden? Wir sind auch auf der Suche.

Viele Grüße

Ist ein alter Post, aber ich habe das gleiche Problem und habe den oben beschriebenen Ansatz versucht, um a) Die Überschrift zu kürzen und b) ein Conversion-Script im finish.tpl auszuführen. 

Like so:

 

{extends file="parent:frontend/index/index.tpl"}

{block name='frontend_checkout_finish_teaser_title'}
    {s name="FinishHeaderThankYou"}{/s}!
{/block}


{block name="frontend_index_header_javascript" append}

	{if ({controllerName|lower} eq "checkout" && {controllerAction|lower} eq "finish")}
		
		
		function gtag_report_conversion(url) {
		  var callback = function () {
		    if (typeof(url) != 'undefined') {
		      window.location = url;
		    }
		  };
		  gtag('event', 'conversion', {
		      'send_to': 'AW-984905430/b2r4CMyStH4Q1u3R1QM',
		      'value': {$sAmount},
		      'currency': 'CHF',
		      'transaction_id': '',
		      'event_callback': callback
		  });
		  return false;
		}
		
	{/if}
{/block}

 

Aber da tut sich gar nix. Bin ich zu blöd? TPL hochgeladen, kompiliert, Cache geleert - trotzdem keinerlei Auswirkung …

 

Hallo,

hättest du dir meinen Beitrag durchgelesen: https://forum.shopware.com/discussion/comment/189372/#Comment_189372 , hätte es auch funktioniert. Also: erst einmal alle Beiträge durchlesen und dann etwas umsetzen:

(1). {extends file=“parent:frontend/checkout/finish.tpl”}

(2). {$smarty.block.parent}

(3). {literal}…{/litertal}

Grüße

Sebastian

1 „Gefällt mir“