cics/yii2-video-embed-widget

此包已被废弃,不再维护。未建议替代包。

从视频URL生成视频嵌入代码的Yii2扩展

dev-master 2015-04-29 19:58 UTC

This package is not auto-updated.

Last update: 2018-08-08 18:19:08 UTC


README

从视频URL生成视频嵌入代码的Yii2扩展。

此小部件在传入有效的视频URL时将返回视频嵌入代码。它与任何网络服务兼容,例如youtube、vimeo、dailymotion、hulu等。

此小部件接受以下参数

  • url: **必需**
  • resonsive: 默认为 true
  • container_id: 默认为 "" 空字符串
  • container_class: 默认为 "" 空字符串
  • show_errors: 默认为 false

注意:此扩展依赖于[embed/embed] (https://github.com/oscarotero/Embed)包,由Oscar Otero创建。Oscar的Embed类基于提供的视频URL生成视频嵌入代码,承担了所有重负载。我简单地创建了一个带有一些额外设置的Yii2包装小部件。

安装

安装此扩展的首选方式是通过composer

运行以下命令

php composer.phar require cics/yii2-video-embed-widget "dev-master"

或向你的composer.json文件的require部分添加以下内容。

"cics/yii2-video-embed-widget": "dev-master"

使用

扩展安装完成后,只需在代码中使用它即可,通过添加以下代码

<?= \cics\widgets\VideoEmbed::widget(['url' => 'http://www.youtube.com/watch?v=NMjA5N7kbEQ', 'show_errors' => true]); ?>

或首先添加命名空间,然后仅引用类名以回显返回的嵌入代码

use cics\widgets\VideoEmbed;
...
<?= VideoEmbed::widget(['url' => 'http://www.youtube.com/watch?v=NMjA5N7kbEQ']); ?>

响应式

响应式视频显示默认启用,但要在页面上以响应式方式显示视频,您需要将以下CSS规则添加到样式表中

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

注意:如果您不想以响应式方式显示视频,可以将responsive参数设置为false,或简单地不在样式表中包含上述CSS。

<?= VideoEmbed::widget(['responsive' => false, 'url' => 'http://www.youtube.com/watch?v=NMjA5N7kbEQ']); ?>

自定义容器ID和类设置

您可以通过传递相应的参数来设置自定义容器ID或自定义容器类。

<?= VideoEmbed::widget([
		'url' => 'http://www.youtube.com/watch?v=NMjA5N7kbEQ',
		'container_id' => 'yourCustomId',
		'container_class' => 'your-custom-class a-second-custom-class',
	]); ?>