inspiredminds/contao-youtube-sync

Contao 扩展,用于同步 Contao 新闻存档与 YouTube 播放列表。

资助包维护!
fritzmg

安装数: 1,209

依赖项: 0

建议者: 0

安全: 0

星级: 3

关注者: 5

分支: 1

类型:contao-bundle

1.0.4 2022-10-30 10:41 UTC

This package is auto-updated.

Last update: 2024-08-29 05:01:02 UTC


README

Contao YouTube Sync

此扩展允许您自动将 YouTube 播放列表中的所有视频导入到 Contao 的新闻条目中。

配置

首先您需要获取一个 Google API 密钥。

  1. 访问 console.developers.google.com 创建一个项目,或者使用现有的项目。
  2. 访问 API 库 并搜索 YouTube Data API v3
  3. 为您项目启用 YouTube Data API v3
  4. 访问您项目的 凭证 并选择 创建凭证 » API 密钥。您也可以使用现有的密钥。
  5. 复制 API 密钥以备后用。

获取 API 密钥后,可以配置扩展

# config/config.yml
contao_youtube_sync:
    developer_key: <YOUR-API-KEY>

安装此扩展后,您将在 Contao 新闻存档的设置中看到额外的选项

YouTube synchronisation settings

启用同步并设置要导入视频作为新闻条目的 YouTube 播放列表 ID。您还需要定义同步条目的默认作者和下载缩略图的目标目录。可选地,您可以定义新条目是否默认发布,以及已同步的条目是否始终更新(这将不会更新别名或作者)。

同步

同步可以通过三种方式触发

  • 计划任务:每小时执行一次。
  • 命令contao_youtube_sync:sync
  • 后端:在文章概览中,使用全局操作中的 YouTube 同步 链接。

事件

每当将 YouTube 视频导入为新闻文章(或每当更新新闻文章时),将触发以下事件

InspiredMinds\ContaoYouTubeSync\Event\NewsYouTubeSyncEvent

此事件允许您获取要保存到数据库的 \Contao\NewsModel 以及 YouTube 视频的 \Google_Service_YouTube_PlaylistItem 实例。它还允许您通过设置 $event->setDiscard(true)丢弃 新闻文章(或添加到其中的更改)。

模板

在新闻模板中将有两个额外的变量可用

  • $this->youtube_id:如果新闻文章是从 YouTube 播放列表导入的,它将包含 YouTube 视频的 ID。
  • $this->youtube_data:这是一个包含来自 Google YouTube API 的视频原始数据的对象。

该扩展还提供了一个基本的 news_youtube 模板,它可以替代 news_full 模板用于 YouTube 视频的新闻阅读器。该模板包含用于在 iframe 中显示嵌入 YouTube 视频的标记。