Hallo Kollegen,
da es mich diese Woche etliche Zeit und Nerven gekostet hat, ein Hinweis falls euer Jquery JS mal nicht so will wie es soll:
In core/smarty/plugins/function.oxscript.php hat sich aus meiner Sicht ein Bug eingeschlichen. Beim einfügen der Jquery-Anweisungen wird das obligatorische Ready-Event nicht mit eingefügt.
Habe mir daher die function.oxscript.php ab Zeile 107 entsprechend ergänzt (2te und vorletzte Zeile sind neu):
$sOutput .= '<script type="text/javascript">' . "
";
$sOutput .= '$(document).ready(function(){' . "
";
foreach ($aScript as $sScriptToken) {
$sOutput .= $sScriptToken. "
";
}
$sOutput .= '});' . "
";
$sOutput .= '</script>' . PHP_EOL;
Welche Shop Version hast du? Mein oxscript funktioniert tadellos.
Ist mir bei einem Shop mit v4.6.5 aufgefallen.
Ganz unten im Quellcode des Demoshops kannst du auch sehen, dass da “$(document).ready(function()…” fehlt.
Ich glaube nicht dass das so gedacht ist, manche scripts sollen ja auch sofort laufen. Und wenn man was onload braucht muss man es halt selbst in $(function(){ … }) einwickeln.
@aggrosoft Das verstehe ich jetzt nicht? Es geht doch hier erstmal nur um die ganz reguläre Einbindung der Jquery-Anweisungen. Und da kenne ich es bisher nur so, dass da das “$(document).ready(function()…” drumherum gehört?!
Das schon ja, aber oxscript funktioniert auch mit ganz normalem javascript - und dass muss nicht immer onload passieren. Deshalb ist das wohl auch nicht im Standard so.