gpt4 book ai didi

youtube - 银条。在内容区域嵌入 2 个 YouTube 视频会在两个视频中显示相同的视频

转载 作者:行者123 更新时间:2023-12-02 18:38:42 25 4
gpt4 key购买 nike

我在 Silverstripe (3.1) 中为客户开发了一个网站。今天,他尝试将第二个 YouTube 视频嵌入到 CMS 的内容区域中(插入媒体>来自网络>粘贴 YouTube URL >添加 URL >插入)。

在 CMS 的所见即所得中,视频的缩略图正确显示,但在前端的模板中,第一个视频在第二个视频的 iFrame 中重复。

我尝试过更改这些内容,删除两个视频并自己再次添加它们,以消除一些奇怪的用户错误,但我每次都可以复制此操作。第一个视频始终克隆到第二个视频的 iFrame 中。

我还尝试过直接使用 YouTube 上的嵌入代码嵌入视频,但效果相同。

检查 iFrame,第二个视频的 src 与第一个视频的 src 相同,因此我认为这与嵌入替换模板途中文本的方式有关。

有办法解决这个问题吗?

最佳答案

我不知道您是否想走这条路,但我有多个包含多个 YouTube 视频的页面,它们使用了扩展 DataObject 的 YouTubeWidget。它作为 $has_many 添加到页面类中。看到这个要点-

https://gist.github.com/cmcramer/60b7ff41017b4a633894

(修订版)根据 @wmk 请求添加的要点中的代码片段

class YouTubeEmbed extends DataObject {

private static $db = array(
'YouTubeTitle' => 'Varchar(255)',
'YouTubeId' => 'Varchar(100)',
);

private static $has_one = array(
'PageWithVideo' => 'Page',
);


private static $summary_fields = array(
'YouTubeTitle' => 'YouTube Video',
);

private static $default_sort = array(
'YouTubeTitle',
);


private static $display_fields = array(
'Title' => 'YouTube Video',
'YouTubeId' => 'Video ID',
);



public function WatchOnYouTubeUrl() {
$strUrl = "https://www.youtube.com/watch?v={$this->YouTubeId}";
return $strUrl;
}

public function VideoIframe() {

$strHtml = '<iframe width="' .
$this->Width . '"
height="' .
$this->Height . '"
src="https://www.youtube.com/embed/'.
$this->YouTubeId . '
?rel=0&autoplay=1&showinfo=0"
frameborder="0"></iframe>'

return $strHtml;
}


}



class VideoPage extends Page {
...

private static $has_many = array(
'Webcams' => 'YouTubeEmbed',
);
public function getCMSFields() {
$fields = parent::getCMSFields();

$fields->addFieldsToTab('Root.Webcams', GridField::create(
'Webcams',
'Webcams',
$this->Webcams(),
GridFieldConfig_RecordEditor::create()
));

return $fields;
}
}



/* In the template */
<div id="webcams">
<% loop $Webcams %>
<span class="webcam-block">
$VideoIframe
<p>$YouTubeTitle</p>
</span><!-- .webcam-block -->
<% end_loop %>
</div>

关于youtube - 银条。在内容区域嵌入 2 个 YouTube 视频会在两个视频中显示相同的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34276400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com