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, 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
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
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