contaobayern/contao-nuligadata-bundle

Contao 4 Bundle:从 NuLiga API 获取数据

dev-master / 1.0.x-dev 2023-03-17 10:15 UTC

This package is auto-updated.

Last update: 2024-09-17 13:39:04 UTC


README

通过 nuLiga API 获取比赛时间和结果,以便生成 Contao 日历中的条目(例如)。

配置

在 Contao 安装的 parameters.yml 中,必须存储 API 的访问数据

    nuPortalRSHost: 'https://example-portal.liga.nu'
    nuClientID: '**********'
    nuClientSecret: '**********'

除了 nuLiga API 的访问数据外,还可以配置数据检索的行为。使用

    app.importData.deleteUcomingEvents: false

可以控制不调用 ContaoBayern\NuligadataBundle\NuLiga\Data\Meetings::deleteUpcomingMeetings()。这样,那些比赛日期在未来的比赛在导入前不会被删除。这可能会导致重复(如果比赛的比赛 UUID 发生了变化)。如果生成的活动数据已手动扩展且不希望丢失这些更改,则此设置可能是有意义的。

使用

数据检索

使用 nuliga:apiaccess 命令从 nuLiga API 获取数据。

以下是一个示例脚本,该脚本在 cron job 中定期执行:

#!/bin/bash

CONTAO_ROOT=/pfad/zu/deiner/contao/installation
CONTAO_CONSOLE=$CONTAO_ROOT/vendor/bin/contao-console
 
COMMAND=nuliga:apiaccess

VERBAND='BHV'
SAISON='19/20'
CLUBNR='12345'

# die verschiedenen Bereiche einzeln synchronisieren
# $CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR teams
# $CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR meetings
# $CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR table

# alle Daten synchronisieren
$CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR all

在第一次调用指定赛季的球队 API 后,必须在每支球队设置中指定要记录比赛日期的日历,以便在后续的 API 调用中将比赛作为事件记录。当前表格的数据将直接存储在球队中。

内容元素和日历事件

内容元素结果表格

内容元素结果表格显示从 nuLiga API 获取的选定球队(请参阅“团队”后端模块)的表格。它始终存储并显示最新表格。表格数据存储在球队中(tl_team.json_data)。输出可以通过模板 ce_nuligadata_table.html5 进行调整。

日历事件

通过团队设置中的配对将球队的赛事分配给日历。在这里,必须选择一个日历,以便将比赛日期存储在该日历中。

包含比赛数据的活动将填充“nuLiga”调色板的特殊字段。这些数据可以在(日历或详细信息)模板中使用。提示:可以通过在模板中插入 <?php $this->dumpTemplateVars(); ?> 来查看可用变量。