0

我想在 DetailView 中使用视频

  'attribute' => ['media_id',
                'format' => 'html',
                'value' => function ($model)
                    {


                    $image = app\models\Media::find()->where(['id' => $model->media_id])->asArray()->one();



                $url = $image['url'];

                $host = Yii::$app->params['uploadPath'];

                return Html::video("$host/" . $url, ['width' => '60px']);
                },
            'label' => 'عکس',
        ],

如何在本节中使用 HTML 中的视频?

这是我使用视频的错误:

name":"Exception","message":"Call to undefined method yii\\bootstrap\\Html::video()"
4

1 回答 1

0

没有 HtmlHeper Html::video() 函数,因此您应该使用平面视频标签,例如:

假设您使用的是 DetailView 小部件,您应该使用

echo DetailView::widget([
  'model' => $model,

  'attributes' => [
              [
                'format' => 'raw',  // or html
                'value' => function  ($model)  {

                    $image = app\models\Media::find()->where(['id' => $model->media_id])->asArray()->one();
                    $url = $image['url'];
                    $host = Yii::$app->params['uploadPath'];
                    return '<video width="60" height="240" controls>
                              <source src="' .$host. DIRECTORY_SEPARATOR  . $url'" type="video/mp4">
                            </video>' ;
              },
            'label' => 'عکس',
        ]
      ],
]);

http://www.yiiframework.com/doc-2.0/yii-helpers-html.html

http://www.yiiframework.com/doc-2.0/guide-helper-html.html

于 2017-09-16T11:25:23.760 回答