curiousagency / bigreports
在大数据集上运行报告。
1.1.5
2021-12-20 16:28 UTC
Requires
- craftcms/cms: ^3.3.0
- league/csv: ^8.2
- vova07/yii2-console-runner-extension: ^0.1.2
README
Big Reports 是一个插件,允许您使用 Twig 创建报告,并将结果以 CSV 格式通过电子邮件发送给您。非常适合大数据集。
要求
此插件需要 Craft CMS 3.0.0 或更高版本。
安装
要安装此插件,请按照以下说明操作。
-
打开您的终端并转到您的 Craft 项目
cd /path/to/project
-
然后告诉 Composer 加载插件
composer require kuriousagency/bigreports
-
在控制面板中,转到设置 → 插件,然后点击 Craft Reports 的“安装”按钮。
Craft Reports 概览
使用 craft.bigreports.service.columns()
方法设置您的列,然后使用 craft.bigreports.service.row()
方法添加您的行数据。
最后一步是使用 craft.bigreports.service.data()
方法输出数据。
以下是一个 Twig 报告的示例
{% do craft.bigreports.service.columns(["Firstname", "Lastname", "email"]) %} {% for user in craft.users.limit(null).all() %} {% do craft.bigreports.service.row([ user.firstName, user.lastName, user.email ]) %} {% endfor %} {{ craft.bigreports.service.data }}
选项
Big Reports 可以有基于 Craft CP 表单宏的选项。
{{ craft.forms('dateField', { id: 'startDate', label: "Start Date"|t, name: 'options[startDate]', value: options.startDate }) }}
然后可以在结果中访问这些选项。以下是一个示例,列出了在两个日期之间注册的所有用户
{% set users = craft.users. dateCreated(['and','>= ' ~ options.startDate|date('c'),'<= '~ options.endDate|date('Y-m-d 23:59:59')|date('c')]) .all() %} {% do craft.bigreports.service.columns(["Firstname","LastName","Email"]) %} {% for user in users %} {% do craft.bigreports.service.row([ user.firstName, user.lastName, user.email, ]) %} {% endfor %} {{ craft.bigreports.service.data }}
结果将以 CSV 附件的形式发送到报告指定的电子邮件地址
配置 Big Reports
报告模板路径
设置查找报告模板的目录
以下是一个示例文件夹结构
templates _reports users results.twig settings.twig
在上面的情况下,您将输入 _reports 作为模板路径
电子邮件模板路径
如果您想使用自己的电子邮件模板发送报告,可以在此设置
示例文件
示例可以在以下位置找到: https://github.com/KuriousAgency/craft-bigreports/tree/master/examples
由 Kurious Agency 提供