在Apostrophe CMS项目中包含外部第三方脚本

时间:2017-01-16 22:30:35

标签: javascript node.js apostrophe-cms

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

我正在关注this helpful tutorial为我的Apostrophe CMS网站构建表单。我需要在表单上放置一个reCaptcha(https://developers.google.com/recaptcha/docs/display)并且我没有关注如何从谷歌中包含所需的脚本。请注意,我需要通过脚本文件include url传递一个变量,即:<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

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

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

1 个答案:

答案 0 :(得分:1)

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

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

但是对于这种情况,由于URL是外部的并且需要查询参数,因此实际上没有一个烘焙解决方案。毕竟,Apostrophe的资产推动机制的很大一部分是缩小,这在这里真的不适用。外部加载资产是......好......外部。

因此,你的outerLayout中的一个块对你的场景非常有意义。

希望这有用!