- 上传与管理视频:将视频文件上传到你的服务器,并将其记录到 DedeCMS 的数据库中。
- 使用模板标签调用:在模板文件(
.htm)中,使用 DedeCMS 的特定标签,从数据库中提取视频信息并展示在网页上。
下面我将为你提供几种最常用和最实用的方法,从简单到复杂,并附上详细的代码示例。

使用“附件”功能(推荐,最灵活)
这是最常用、最灵活的方法,它将视频作为文章的附件,可以和文章内容完美结合,利于SEO和管理。
第一步:上传视频并添加到文章中
- 登录后台:进入 DedeCMS 后台。
- 添加文章:在【核心】->【内容发布管理】->【添加普通文章】中,创建一篇新的文章。
- 上传附件:
- 在文章编辑器的下方,找到 “文件上传” 或 “多媒体文件” 按钮。
- 点击后,会弹出一个上传窗口,选择你的本地视频文件(如
.mp4,.flv,.webm等)。 - 上传成功后,该视频会出现在附件列表中。
- 获取视频地址:
- 在附件列表中,找到你刚刚上传的视频文件。
- 将鼠标悬停在文件名上,右键点击,选择“复制链接地址”,或者直接复制文件名后面的完整URL路径,这个路径就是视频的播放地址,它通常是这样的格式:
你的网站/uploads/allimg/视频文件名.mp4
- 中插入视频:
- 你可以直接将获取到的视频URL粘贴到文章内容编辑器中。
- 更推荐的方式:使用 DedeCMS 自带的 “插入/修改视频” 按钮(编辑器工具栏上通常有一个类似“播放”图标的按钮),点击它,在弹出的窗口中粘贴你刚刚复制的视频地址,然后插入,这样 DedeCMS 会自动生成一个标准化的视频播放代码。
第二步:在首页或列表页调用视频
我们想在首页或栏目列表页的摘要中显示这个视频的缩略图和播放按钮。
场景:假设你的视频是作为文章发布的,并且你希望在首页的 {dede:arclist} 标签中调用它。
步骤:

-
确保文章有缩略图:为了让列表页显示美观,请务必为这篇包含视频的文章上传一个 缩略图,这个缩略图将作为视频的封面图。
-
修改
include/taglib/arclist.lib.php文件(高级,一劳永逸): 这个文件是arclist标签的核心解析文件,我们需要让它能识别[vodplay]这样的视频标签。- 用代码编辑器打开
/include/taglib/arclist.lib.php文件。 - 找到类似
$row['body'] = $row['text'];的行(通常在文件末尾附近)。 - 在这行代码的 后面,添加以下代码,用于从文章正文中提取视频地址:
// 获取视频地址,兼容[vodplay]标签 $GLOBALS['vplay'] = ''; if (preg_match_all('/\[vodplay\]([^\/]*\/)*([^\[\<\r\n]+)\[\/vodplay\]/i', $row['body'], $matches)) { $GLOBALS['vplay'] = $matches[2][0]; }- 保存文件。
- 用代码编辑器打开
-
在首页模板(
index.htm)中使用标签:现在你可以在首页模板中使用
arclist标签,并通过自定义字段vplay来调用视频地址。
(图片来源网络,侵删){dede:arclist row='10' titlelen='30' typeid='1' addfields='vplay'} <li> <!-- 使用[field:litpic/]调用文章缩略图作为视频封面 --> <div class="video-box"> <a href="[field:arcurl/]"> <!-- 使用[field:vplay/调用视频地址,构建播放器 --> <video class="video-player" src="[field:vplay/]" poster="[field:litpic/]"> <!-- 如果浏览器不支持 video 标签,显示提示 --> 您的浏览器不支持 video 标签。 </video> <!-- 可选:在缩略图上叠加一个播放图标 --> <div class="play-icon"></div> </a> </div> <h2><a href="[field:arcurl/]">[field:title/]</a></h2> </li> {/dede:arclist}
CSS 样式参考:
为了让视频播放器和播放图标显示正常,你需要在CSS文件中添加一些样式。
.video-box {
position: relative;
width: 300px;
height: 200px;
overflow: hidden;
}
.video-player {
width: 100%;
height: 100%;
object-fit: cover; /* 保证视频填满容器,不变形 */
}
.play-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50px;
height: 50px;
background: rgba(0,0,0,0.6) url('你的播放图标.png') no-repeat center center;
background-size: contain;
border-radius: 50%;
cursor: pointer;
}
/* 鼠标悬停时隐藏播放图标,显示视频控件 */
.video-box:hover .play-icon {
display: none;
}
使用独立模型(适用于大量视频网站)
如果你的网站主要是用来发布视频,而不是文章,那么创建一个独立的“视频”模型是最佳选择。
第一步:创建自定义模型
- 登录后台:进入【核心】->【内容模型管理】->【增加一个新模型】。
- 填写模型信息:
- 模型名称:视频教程”。
- 模型表:系统会自动生成一个
dede_addonvideo之类的表名,无需修改。 - 字段:这是关键,你需要添加自定义字段来存储视频信息。
- 字段名:
video_url - 字段类型:
多媒体 - 字段说明:
视频地址 - 保存后,系统会自动为你在数据库中添加这个字段。
- 字段名:
- 生成栏目:创建一个使用这个“视频教程”模型的新栏目。
第二步:发布视频内容
时,选择你创建的“视频教程”模型,你会看到多出一个“视频地址”的上传框,在这里上传你的视频文件,系统会自动保存地址。
第三步:调用视频内容
调用方法和 arclist 类似,但需要指定模型ID。
{dede:arclist row='10' channelid='1'} <!-- channelid='1' 是你创建的视频模型的ID -->
<li>
<div class="video-box">
<a href="[field:arcurl/]">
<!-- 直接调用视频地址字段 -->
<video src="[field:video_url/]" poster="[field:litpic/]"></video>
<div class="play-icon"></div>
</a>
</div>
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
</li>
{/dede:arclist}
使用外部视频链接(最简单)
如果你的视频是存放在优酷、腾讯视频、Bilibili等第三方平台,直接调用他们的嵌入代码(iframe)是最简单的方式。
第一步:获取嵌入代码
- 在视频平台(如B站)找到你想嵌入的视频。
- 点击“分享”按钮,然后选择“嵌入”。
- 复制平台提供的
<iframe>代码。
第二步:在DedeCMS中使用
直接在文章内容中使用
将 <iframe> 代码直接粘贴到文章编辑器中发布即可,这样会直接在文章页面显示视频播放器。
在首页/列表页调用(不推荐,但可行)
这种方法比较笨拙,因为 arclist 无法直接解析 iframe,你需要手动处理。
- 中,你用一个特殊标签(如
[bilibili_video])来保存 iframe 代码的一部分。 - 在
arclist.lib.php中解析这个标签,提取出视频ID。 - 在模板中,根据视频ID拼接出完整的
<iframe>代码。
这种方法非常繁琐,不推荐使用。最佳实践是: 在文章详情页(article_article.htm)中使用 iframe,而在列表页只显示一个封面图,点击封面图再跳转到详情页播放视频。
总结与推荐
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 附件功能 | 灵活、SEO友好、与文章内容结合紧密 | 需要修改核心文件(一次即可) | 大多数网站,特别是视频作为文章内容的补充或教程类网站。 |
| 独立模型 | 结构清晰、功能强大、利于管理大量视频 | 设置初期稍显复杂 | 视频为主的专业网站,如视频教程站、影视站。 |
| 外部链接 | 最简单、无需服务器存储带宽 | 依赖第三方平台、有广告、控制权低 | 快速嵌入、不想自己托管视频的临时或补充需求。 |
对于初学者和大多数用户,强烈推荐使用【方法一:附件功能】,它兼顾了灵活性、易用性和SEO效果。
