MikeStecker / craft-videoembedder
Craft 插件,可以将 YouTube 或 Vimeo 的链接转换为嵌入 URL。
Requires
- craftcms/cms: ^3.0.0
- embed/embed: ^3.3
README
Craft 插件,可以将 YouTube 或 Vimeo 的链接转换为嵌入 URL。本插件将完全免费。
移植自 Viget 的 Craft 2.x 版本的 Video Embed 插件。
要求
此插件需要 Craft CMS 3.0.0 或更高版本。
安装
要安装 Video Embedder,请按照以下步骤操作
- 使用 Composer 在项目目录中运行
composer require mikestecker/craft-videoembedder
进行安装 - 在 Craft 控制面板的设置 > 插件下安装插件
Video Embedder 在 Craft 3.x 上工作。
Video Embedder 概述
Video Embedder 会获取您的 YouTube 或 Vimeo 链接,并将其转换为适合在 iframe 标签内使用的嵌入 URL。Video Embedder 还有一个变量,可以获取相同的 URL 并获取缩略图 URL。
使用 Video Embedder
将 YouTube 或 Vimeo 链接传递给 getEmbedUrl
变量,并返回嵌入 URL。插件将检查 URL 是否有效且允许嵌入。如果不允许,则返回空字符串。
{% set embed = craft.videoEmbedder.getEmbedUrl('https://www.youtube.com/watch?v=6xWpo5Dn254') %}
{% if embed | length %}
{{ embed }}
{% endif %}
示例
{% set embed = craft.videoEmbedder.getEmbedUrl('https://www.youtube.com/watch?v=6xWpo5Dn254') %}
{% if embed | length %}
<iframe src="{{ embed }}"></iframe>
{% endif %}
输出
<iframe src="//www.youtube.com/embed/6xWpo5Dn254"></iframe>
新功能 1.0.5
getEmbedUrl
现在接受 YouTube 和 Vimeo URL 的可选参数,例如 autoplay
、rel
等
{% set embed = craft.videoEmbedder.getEmbedUrl('https://www.youtube.com/watch?v=6xWpo5Dn254', {autoplay: 1, rel: 0, theme: 'dark'}) %}
Video Embedder 还会使用 getVideoThumbnail
变量从 YouTube 或 Vimeo 获取最大的缩略图 URL。
{% set thumbnail = craft.videoEmbedder.getVideoThumbnail('https://www.youtube.com/watch?v=6xWpo5Dn254') %}
{% if thumbnail | length %}
{{ thumbnail }}
{% endif %}
输出
//img.youtube.com/vi/6xWpo5Dn254/0.jpg
新功能 1.0.5
Video Embedder 现在将生成 iframe 代码。只需使用 embed
变量与您的 URL 一起使用。您还可以传递 YouTube 和 Vimeo URL 的可选参数,例如 autoplay
、rel
等。
基本示例
{% set embed = craft.videoEmbedder.embed('https://www.youtube.com/watch?v=6xWpo5Dn254') %}
{% if embed | length %}
{{ embed }}
{% endif %}
带有参数
{% set embed = craft.videoEmbedder.embed('https://www.youtube.com/watch?v=6xWpo5Dn254', {autoplay: 1, rel: 0, theme: 'dark'}) %}
这些参数将直接输出到嵌入 URL 字符串的末尾,并且仅针对 YouTube 和 Vimeo 进行了测试。请与每个提供商确认支持哪些参数。
新功能 1.0.9
从 URL 中仅返回 Vimeo 或 YouTube ID。这在需要与 Plyr 等工具一起使用时很有用。
基本示例
{% set videoUrl = 'https://www.youtube.com/watch?v=6xWpo5Dn254' %}
{% set videoId = craft.videoEmbedder.getVideoId(videoUrl) %}
{% set providerName = craft.videoEmbedder.getProviderName(videoUrl) %}
{% if videoId | length %}
<div id="player" data-plyr-provider="{{ providerName | lower }}" data-plyr-embed-id="{{ videoId }}"></div>
{% endif %}
Video Embedder 路线图
一些要完成的事项以及潜在功能的想法
- 添加生成 iframe HTML 的功能
- 添加新的视频 URL 字段类型(感谢 @samuelbirch!)
- 将视频 URL 字段类型限制为仅允许支持的视频 URL
- 添加对更多视频提供商的支持(部分添加到 1.0.5,通过切换到使用 Embed 库)
- 添加更多缩略图大小选项
- 测试
这是我第一个插件,我在插件开发方面经验不足。请随意分支,添加您希望看到的功能,并向我发送拉取请求。
由 Mike Stecker 提供