如果 javascript 代码没有在 CS-Cart 插件的 scripts.post.tpl 模板挂钩中执行,该把它放在哪里?

Where to put javascript code if it is not being executed in the scripts.post.tpl template hook in a CS-Cart addon?

我正在创建一个 CS-Cart v4.10 插件。

我想从 scripts.post.tpl 模板挂钩中执行一些 Javascript 代码。我通过查看其他插件发现了这个钩子,因为实际上官方文档中没有关于如何将 Javascript 放入插件的解释。

这个钩子适用于其他插件,但不适用于我的插件。控制台没有输出,实际上我的代码没有包含在页面和编译脚本中。

我已经阅读了有关 my_changes 插件的信息,但由于我实际上是在创建一个插件,所以使用这种方式对我来说似乎不是一个好主意。

Javascript代码很简单:

console.log('Got executed!');

然后我将那一行放在文件中:

~\cscart\design\backend\templates\addons\a_test_cscart_addon\hooks\addons\scripts.post.tpl

我也看到有人在谈论 script.tpl 甚至 scripts_head.tpl 或类似的东西,但仍然不知道如何在不使用 my_changes 插件的情况下执行我的单行。

感谢您的宝贵时间和帮助。

路径不对。 你想在前端或后端执行。 对于前面:在当前模板或 "responsive" 文件夹中创建: templates/addons/a_test_cscart_addon/hooks/index/scripts.post.tpl

如果想让js在后台执行,就得用这个路径:

~\cscart\design\backend\templates\addons\a_test_cscart_addon\hooks\index\scripts.post.tpl

然后,如果您只想执行一些代码,比如说在站点的 addons.manage 区域,您只需在文件中执行此操作:

{if ($runtime.controller == "addons" && $runtime.mode == "manage")}
    console.log('Got executed!');
{/if}

这是您控制代码执行位置的方式。