1

如何从 Apostrophe CMS 中的自定义模块推送第 3 方脚本?

我正在按照这个有用的教程为我的 Apostrophe CMS 网站构建一个表单。我需要在表单 ( https://developers.google.com/recaptcha/docs/display ) 上添加一个 reCaptcha 内容,并且我没有关注如何从 google 包含所需的脚本。请注意,我需要通过包含 url 的脚本文件传入一个变量,即:<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

是否已经创建了一个小部件(如Apostrophe-twitter),我可以参考它来了解如何包含这个额外的脚本?

**编辑我可以通过在我的根模板中创建一个块来完成工作,即:{% block customAssets %} {% endblock %},然后用我的contact-form-widget:widget.html文件中的必要包含“填充”该块。有没有更好的方法来完成这项任务?

4

1 回答 1

1

我是 P'unk Avenue 的 Apostrophe 的首席开发人员。

在大多数情况下,您可以调用pushAsset,就像我们的模块一样(您链接到的教程中有示例),并使用 .less 和 .js 文件填充模块的public/csspublic/js子目录。

但是对于这种情况,由于 URL 是外部的并且需要查询参数,因此没有真正的内置解决方案。毕竟,Apostrophe 的资产推送机制的很大一部分要点是缩小,这在这里真的不适用。从外部加载资产是……嗯……是外部的。

因此,您的 outerLayout 中的块非常适合您的场景。

希望这有帮助!

于 2017-01-16T23:57:38.850 回答