mango-chutney/craft-raisely-donation-forms

一个字段插件,用于从Craft CMS内容中获取并嵌入Raisely捐赠表单。

1.0.0 2023-10-05 23:27 UTC

This package is auto-updated.

Last update: 2024-09-17 06:34:26 UTC


README

一个字段插件,用于获取Raisely捐赠数据并在您的Craft CMS内容中嵌入表单。

安装

此插件需要Craft CMS 4.4.15或更高版本,以及PHP 8.0.2或更高版本。

  1. 要安装,请从您的Craft项目中的插件商店访问,或使用以下命令:
composer require mango-chutney/craft-raisely-donation-forms
  1. 在控制面板中,转到 设置插件,然后单击Raisely捐赠表单的“安装”按钮,或运行
php craft plugin/install raisely-donation-forms

用法

字段

  1. 在您的CMS设置中添加您的Raisely API密钥,或创建一个包含以下内容的config/raisely-donation-forms.php文件:
'raiselyApiKey' => 'RAISELY_API_KEY'

您可以在活动侧导航中的设置 > API & Webhooks中找到您的API密钥。任何活动的API密钥都可以用于您的整个Raisely帐户

  1. 创建一个Raisely捐赠表单字段并选择一个表单

如果下拉菜单中列出的活动与您的Raisely帐户中的活动不匹配,请使用“刷新活动”按钮

  1. 使用{{ entry.yourField.renderForm() }}在您的模板中嵌入表单

默认情况下,Raisely表单的初始高度为800px,这可能导致不希望的布局变化。要修复此问题,您可以传递一个高度变量{{ entry.yourField.renderForm(400) }}

使用{{ entry.yourField.isEmpty() }}检查字段是否已填充

或使用{{ entry.yourField.getDonations() }}获取活动捐赠,这将返回一个数组,您可以使用类似以下方式循环显示捐赠:

  {% for item in entry.yourField.getDonations() %}
    {{ item.anonymous == true ? 'Anonymous' : item.firstName }} donated {{ item.publicAmount|currency }}
  {% endfor %}

默认情况下,获取的捐赠数量限制为10,但您可以在config/raisely-donation-forms.php文件中的donationLimit设置中更改此限制,或通过传递限制变量entry.yourField.getDonations(5) - 当前没有分页,因此结果将限制为API结果的首页。

使用sortorder变量可以更改获取的捐赠的排序顺序,例如entry.yourField.getDonations(10, 'date', 'asc')将返回10笔最旧的捐赠,或entry.yourField.getDonations(5, 'amount', 'desc')将返回5笔最大的捐赠。

可以在Raisely API文档中找到可用数据的参考。注意:不会获取私人数据

变量

如果您愿意,可以使用不带字段的Raisely活动路径直接在模板中使用renderForm()getDonations()变量,而无需API密钥(如果您不使用getDonations())。

{{ craft.raisely.renderForm('campaign-path') }}

or

{{ craft.raisely.getDonations('campaign-path') }}

这两个函数与字段对应函数的工作方式相同。

缓存

表单和捐赠分别缓存1周和6小时,以避免过多地进行API调用,并提高用户体验 - 如果没有捐赠缓存,每次模板加载时都会进行调用,导致页面加载时间更长。

如果您需要调整缓存时间,您可以在config/raisely-donation-forms.php文件中使用以下设置:

'campaignCacheDuration' => 604800,
'donationCacheDuration' => 21600

您可以通过转到Craft控制面板的工具清除缓存或使用以下命令来清除缓存:

php craft clear-caches/raisely-campaigns

php craft clear-caches/raisely-donations