jdsdev / craft-embedder
生成视频嵌入代码。
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0-beta.1
Requires (Dev)
- craftcms/rector: dev-main
README
Embedder 是一个基于 Vector 媒体集团的 Antenna 的 Craft CMS 插件,可生成 YouTube、Vimeo、Wistia 或 Viddler 的嵌入代码。它还提供了视频标题、作者、作者 YouTube/Vimeo URL 和缩略图。你只需要传入一个 URL。
你也可以输出关于视频的元数据的各种信息。
要求
此插件需要 Craft 5 或更高版本。
有关 Craft 2 版本的说明,请参阅 v1 分支
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并转到您的 Craft 项目
cd /path/to/project
-
然后告诉 Composer 加载插件
composer require jdsdev/craft-embedder
-
在控制面板中,转到设置 → 插件,然后点击 Embedder 的“安装”按钮。
简单使用
如果作为单个标签(embedder.embed)使用,它将返回视频的 HTML 嵌入/object 代码。
{{ craft.embedder.embed (entry.embedderVideo, {max_width:500, max_height:800}) }}
完整使用和变量
如果通过设置视频 URL 使用,您可以访问几个变量。
{% set video = craft.embedder.url(entry.embedderVideo, {max_width:500, max_height:800}) %} {{ video.embed_code }} <ul> <li>title : {{ video.video_title }}</li> <li>description : {{ video.video_description }}</li> <li>thumbnail : <img src="{{ video.video_thumbnail }}"></li> </ul>
视频有三种图像大小可供选择: video_thumbnail
、video_mediumres
和 video_highres
。它们在不同服务之间并不一致,但应该落入大致的尺寸范围。video_thumbnail
宽度为 100-200 像素;video_mediumres
宽度约为 400-500 像素;video_highres
至少是上传视频的完整尺寸,宽度可能高达 1280 像素。
参数
尺寸
设置 max_width
和/或 max_height
,以满足您网站所需的任何尺寸。视频将调整大小以适应这些尺寸,并保持正确的比例。
max_width: 500
- 可以是任何数字。默认不指定。max_height: 800
- 可以是任何数字。默认不指定。
YouTube
如果您使用 YouTube,可以使用任何受支持的 嵌入参数。只需将参数前缀为 youtube_
。以下是一些常见参数
youtube_rel: 0
- 在视频结束时显示相关视频。可以是0
或1
(默认)。youtube_showinfo: 0
- 显示视频标题叠加。可以是0
或1
(默认)。youtube_controls: 0
- 显示视频播放器控件。可以是0
或1
(默认)。youtube_autoplay: 1
- 自动播放视频。可以是0
(默认)或1
。youtube_enablejsapi: 1
- 启用 YouTube IFrame 或 JavaScript API。可以是0
(默认)或1
。
此外,当使用 YouTube 时,以下非标准参数也是可用的
youtube_privacyEnhanced: 1
- 使用 YouTube 的隐私增强模式。可以是0
(默认)或1
。
Vimeo
如果您使用 Vimeo,可以使用任何受支持的 嵌入参数。只需将参数前缀为 vimeo_
。以下是一些常见参数
vimeo_byline: 0
- 在视频上显示作者信息。可以是0
或1
(默认)。vimeo_title: 0
- 在视频上显示标题。可以是0
或1
(默认)。vimeo_portrait: 0
- 在视频上显示用户的头像。可以是0
或1
(默认)。vimeo_loop: 1
- 循环播放视频。可以是0
(默认)或1
。vimeo_autoplay: 1
- 自动开始播放视频。可以是0
(默认)或1
。vimeo_color: 'ff0000'
- 设置Vimeo播放器的主题颜色。可以是任何十六进制颜色值(不带井号)。默认为'00adef'
。
您还可以使用以下Vimeo参数
vimeo_player_id: 'myVideoPlayer'
- 在播放器上设置ID,这对于您想以不同方式控制同一页面上多个视频很有用。
使用Vimeo时,以下额外变量可用
{{ video_description }}
- 视频描述,如Vimeo设置
Viddler
如果您使用Viddler,您将获得两个额外的参数
viddler_type: 'simple'
- 指定播放器类型。可以是'simple'
或'player'
(默认)。viddler_ratio: 'widescreen'
- 宽高比。可以是'widescreen'
、'fullscreen'
或不指定,以便自动确定宽高比。
Wistia
如果您使用Wistia,您将获得两个额外的参数
wistia_type
- 设置支持的嵌入类型。wistia_foam: true
- 使用Wistia的视频泡沫功能使嵌入的视频响应。
HTML输出控制
您还可以使用以下参数控制您的输出
id: 'myId'
- 给iFrame分配指定值的id=
属性。class: 'video player'
- 给iFrame分配指定值的class=
属性。attributes: 'data-video data-player'
- 给iFrame指定HTML属性。
wmode(大多数提供商已弃用)
可选的 wmode
参数可用于您在将HTML内容定位在嵌入媒体之前遇到问题时。它接受 transparent
、opaque
和 window
的值。
贡献者
-
Adam Powell - 原始插件作者。
-
Aaron Waldon / @aaronwaldon - 重新整理逻辑以允许使用任何提供商参数。添加了HTML输出控制参数并更新了文档。
-
Jonathan Sarmiento - 更新了插件以兼容Craft 3和Craft 4。