如何从Apostrophe CMS的自定义模块中推送第3方脚本?
我正在按照this helpful tutorial为我的Apostrophe CMS网站构建一个表单。我需要在表单(https://developers.google.com/recaptcha/docs/display)上放置一个reCaptcha东西,而且我没有遵循如何包含Google所需的脚本。请注意,我需要通过脚本文件include 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文件中用必要的包含项“填充”该块来完成工作。有更好的方法来执行此任务吗?
最佳答案
我是P'unk Avenue的Apostrophe的首席开发人员。
在大多数情况下,您可以像我们的模块一样调用pushAsset
(该教程中有链接到的示例),并使用.less和.js文件填充模块的public/css
和public/js
子目录。
但是对于这种情况,由于URL是外部的并且需要查询参数,因此实际上没有内置的解决方案。毕竟,Apostrophe推动资产的机制的很大一部分是缩小化,这在这里真的不适用。从外部加载资产是...在外部。
因此,outerLayout中的一个块对于您的情况而言非常有意义。
希望这会有所帮助!