superbig/craft-reports

使用 Twig 编写报告。

安装次数: 10,907

依赖: 0

建议: 0

安全性: 0

星标: 5

关注者: 2

分支: 1

公开问题: 17

类型:craft-plugin

1.0.7 2019-10-13 15:51 UTC

README

使用 Twig 编写报告。

Icon

要求

此插件需要 Craft CMS 3.0.0 或更高版本。

安装

要安装插件,请按照以下说明操作。

  1. 打开您的终端并转到您的 Craft 项目

     cd /path/to/project
    
  2. 然后告诉 Composer 加载插件

     composer require superbig/craft-reports
    
  3. 在控制面板中,转到设置 → 插件,并为报告点击“安装”按钮。

报告概览

Craft CMS 和 Craft Commerce 报告使您能够通过简单的流畅 API 使用 Twig 编写报告。

它还使您能够设置报告目标,如电子邮件和(即将推出)Slack。

这样,您可以直接将报告发送到目标渠道,无论是按需还是(即将推出)按计划。

配置报告

您可以使用名为 reports.php 的配置文件覆盖选项。

<?php
return [
    'enableScheduler' => true,
    'helpers'          => [
        'formatUsers' => function($users) {
            /** @var \craft\elements\User[] $user */
        }
    ],
];

使用报告

您可以在报告内容和设置字段中使用包含。

Twig 将传递以下变量

  • result - 后台的一个 ReportResult 模型
  • report - 后台的一个 Report 模型

报告示例

生成在过去 30 天内登录的用户列表

{% set loginPeriod = now|date_modify('-30 days') %}
{% set users = craft.users.lastLoginDate('> ' ~ loginPeriod|atom).all() %}

{% if result is defined %}
    {% do result.setHeader(['Username', 'Name', 'Email']) %}
    {% for user in users %}
        {% do result.append([user.username, user.getName(), user.email ]) %}
    {% endfor %}
{% endif %}

报告目标示例

报告目标使您能够将报告结果发送到目标渠道。

目前支持电子邮件,Slack 和更多即将推出。

示例电子邮件正文

Report generated for {{ target.name }}<br>
This report includes:<br><br>

{% for report in reports %}
- {{ report.name }}<br>
{% endfor %}

注意,您既可以对目标报告附件进行访问,也可以对目标本身进行访问。

通过 Craft 的控制台命令运行报告目标

您可以使用以下命令通过控制台运行任何报告目标

./craft reports/default/run-target targetHandle

该命令也可以接收目标的 ID。

这种方式运行报告目标特别有用,如果您想从 cron 作业运行它,或者您有更大的报告需要更多的内存或运行时间超过正常网络请求的处理时间。

报告路线图

一些要完成的事情和潜在功能的想法

  • 移植 Craft 2 版本
  • 链式内容 API
  • 文档内容 API
  • 文档报告目标
  • 字段支持
  • 图表支持
  • 小部件支持
  • 计划报告
  • 电子邮件作为报告目标
  • Slack 作为报告目标
  • 注册报告目标的触发器事件
  • 模板助手
  • 文档助手
  • 报告源(例如 Slack slash 命令或 CraftQL)
  • 通过 CLI 运行报告目标
  • 报告索引中的报告目标下拉菜单
  • 覆盖标题
  • 运行报告目标时使用队列作业
  • 屏幕截图
  • 权限(创建、查看、导出、运行、删除)

Superbig 提供