If I have a {script} tag in my template block, it will only render the script in the heading when the page is actually compiling the template. However if the block is cached the {script} tag will not render.
Don’t use {script}, use the regular html tag and enclose it in {literal}
[URL]Search Results for "docsv2" | Smarty
Use the hook for scripts instead.
[quote name=‘tbirnseth’]Use the hook for scripts instead.[/QUOTE]
So call it from a hook then use the {script} tag?
There’s a standard hook called index:scripts
In that hook file (…addons/my_changes/hooks/index/scripts.post.php) use your standard html script tags and either provide a src (where broswer will cache) or your code. This way you ensure your javascript is associated with the site, not the particular page. Of course, you can enclose things in {if $controller==‘checkout’} or whatever if you need/want to conditionalize it. But if you’re using a script with ‘src’ then it’s stored in the browswer cache anyway so it’s kind of pointless to use the {script} template tag.