Javascript code nur auf Detailseite ?

Hallo, wie kann ich einen Javascript-Code (z.B den von Adcrowd) nur auf der Artikel-Detailseite einbinden ?

Bin für jede Hilfe dankbar.

Grüße von spiro

 

Hallo spiro,

eigene /detail/index.tpl anlegen und den Block “{block name=“frontend_index_header_javascript_jquery”}” erweitern.

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

{block name="frontend_index_header_javascript_jquery" append}

dein Code		 
 
{/block}

Uwe

1 „Gefällt mir“

Hallo,
ist das noch die typische und richtige vorgehensweise oder gibt es ab 5.4.6 bzw 5.5.4 eine andere/ bessere Methode?

Vielen Dank für eure Hilfe.

Gruß HEPI

Hallo,

diese Methode sollte man auf keinen Fall mehr nutzen, da prepend und append von Shopware selbst schon lange untersagt sind, stattdessen soll {$smarty.block.parent} genutzt werden. Sonst wäre diese Umsetzung durchaus so noch sinnvoll, auch wenn man das JavaScript lieber nicht inline sondern in eine eigene JS-Datei auslagern sollte, siehe: Using CSS and JavaScript in themes . Auf die Artikel - Detailseite könnte man es dann auch einfach beschränken, indem man beispielsweise ein data - Attribut nutzt, was es nur dort gibt oder ein eigenes dort erstellt, bei dessen Vorhandensein man seine Funktion ausführt.

Grüße

Sebastian

1 „Gefällt mir“

Ok, habe jetzt gesehen, dass es um Javascript im head geht. Mit dem attribut werde ich probieren. Dachte, ich könnte das Laden der Scripte auf der Start- und Listingseite unterbinden, da sie nur auf der Detailseite benötigt werden.

Hallo,

naja wie gesagt und oben erwähnt, wenn du die ganze Funktion an ein data - Attribut hängst, kannst du ja steuern, ob und wann (oder auf welcher Seite) das Skript geladen wird.

Grüße

Sebastian