contaobayern / contao-nuligadata-bundle
Contao 4 Bundle:从 NuLiga API 获取数据
Requires
- php: ^7.1 || ^8.0
- ext-json: *
- contao/calendar-bundle: ^4.4
- contao/core-bundle: ^4.4
- fiedsch/contao-jsonwidget: ^0.4
- guzzlehttp/guzzle: ^6.5
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
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(); ?>
来查看可用变量。