Fehler bei Einbau von Script in Shopware 3.5

Hallo, ich habe ein Script gefunden das ich gerne in Shopware einbauen würde. Das Script funktioniert in einer eigenständigen php-seite, aber wenn ich es in ein shopware-template einbauen möchte, dann zeigt er mir den folgenden Fehler an: ------------------------------------ Syntax Error in template “/usr/www/users/*****/******/templates/_default/frontend/detail/buy.tpl” on line 138 "setTimeout(function(){thisobj.updateTime()}, 1000) - Unexpected “.”, expected one of: “}” , " " in Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 404 ------------------------------------ Der betreffende Script-Teil sieht so aus: ------------------------------------ cdLocalTime.prototype.updateTime=function(){ var thisobj=this this.localtime.setSeconds(this.localtime.getSeconds()+1) setTimeout(function(){thisobj.updateTime()}, 1000) } ----------------------------------- Hat einer ne Idee warum es in Shopware nicht funktioniert? Gibt es da Probleme mit jquery? Hat einer eine Lösung? Schönen Gruß Sigi

Hast du das Script in ein eigenes Template gepackt? Oder direkt an entsprechender Stelle?

[quote=„Partyman“]Hallo, ich habe ein Script gefunden das ich gerne in Shopware einbauen würde. Das Script funktioniert in einer eigenständigen php-seite, aber wenn ich es in ein shopware-template einbauen möchte, dann zeigt er mir den folgenden Fehler an: ------------------------------------ Syntax Error in template „/usr/www/users/*****/******/templates/_default/frontend/detail/buy.tpl“ on line 138 "setTimeout(function(){thisobj.updateTime()}, 1000) - Unexpected „.“, expected one of: „}“ , " " in Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 404 ------------------------------------ Der betreffende Script-Teil sieht so aus: ------------------------------------ cdLocalTime.prototype.updateTime=function(){ var thisobj=this this.localtime.setSeconds(this.localtime.getSeconds()+1) setTimeout(function(){thisobj.updateTime()}, 1000) } ----------------------------------- Hat einer ne Idee warum es in Shopware nicht funktioniert? Gibt es da Probleme mit jquery? Hat einer eine Lösung? Schönen Gruß Sigi[/quote] Pack mal um das Script „{literal}{/literal}“, dann sollte funktionieren. {literal} Skript {/literal}

Fehlermeldung ist mit LITERAL jetzt weg, leider wird die Serverzeit nicht mehr ausgelesen bzw. erkannt. Im header wo ich den ersten Teil des Scriptes eingebunden habe eingebunden habe findet sich von Shopware noch das folgende (dürfte ja bekannt sein). Kann es da zu irgendwelchen Wechselwirkungen kommen? [code] {block name=„frontend_index_header_javascript“}{block name=„frontend_index_header_javascript_jquery“}{/block} {/block} [/code]

Hey Partyman, was ich mich frage ist, warum du dieses Skript einbauen möchtest? Wir machen das exakt gleiche in der Funktion .server.init(), welche du in der jquery.shopware.js (Zeile 1782) findest. Hierzu wird timeNow benutzt um die aktuelle Serverzeit zu erhalten und dann wird die Funktion .server.init() mit timeNow als Parameter aufgerufen, was dir die aktuelle Zeit in das .server.dateObj schreibt und jede Sekunde per setInterval wird die Funktion .server.increment() aufruft, welche das Objekt $.server.dateObj „aktualisiert“. So hast du doch global die Serverzeit zur Verfügung und kannst damit arbeiten.

Hi, damit Smarty mit dem Code zurecht kommt, muss du nur nach jedem „{“ und vor jedem „}“ ein Leerzeichen lasse. Das würde in deinem Beispiel so aussehen: cdLocalTime.prototype.updateTime=function(){ var thisobj=this this.localtime.setSeconds(this.localtime.getSeconds()+1) setTimeout(function(){ thisobj.updateTime() }, 1000) } Viele Grüße Heiner