如何从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文件。有没有更好的方法来完成这项任务?
答案 0 :(得分:1)
我是P'unk Avenue的Apostrophe的首席开发人员。
对于大多数情况,您可以像我们的模块一样调用pushAsset
(您链接到的教程中有示例),并填充您的public/css
和public/js
子目录带.less和.js文件的模块。
但是对于这种情况,由于URL是外部的并且需要查询参数,因此实际上没有一个烘焙解决方案。毕竟,Apostrophe的资产推动机制的很大一部分是缩小,这在这里真的不适用。外部加载资产是......好......外部。
因此,你的outerLayout中的一个块对你的场景非常有意义。
希望这有用!