dede留言板如何调用视频?

99ANYc3cd6
预计阅读时长 33 分钟
位置: 首页 DEDE建站 正文

这里为您提供三种主流的实现方法,从简单直接功能强大,您可以根据自己的技术能力和需求选择最适合的一种。

dede留言板调用视频
(图片来源网络,侵删)

利用“自定义表单”功能(推荐,最灵活)

这是最推荐的方法,因为它不修改核心文件,升级方便,并且功能强大,我们可以创建一个独立的视频留言表单,然后在页面中调用它。

操作步骤:

第一步:创建一个自定义表单

  1. 登录DedeCMS后台,进入【核心】 -> 【频道模型】 -> 【自定义表单】。
  2. 点击【增加自定义表单】,填写表单信息:
    • 表单名称: 视频留言 (可以自定义,方便识别)
    • 数据表: dede_addonvideo (系统会自动生成,以 dede_addon 开头,后面跟表单名称)
    • 默认列表模板: list_video.htm (留空,我们后面手动创建)
    • 发布页模板: post_video.htm (留空,我们后面手动创建)
    • 默认排序: id (按ID倒序,让最新的留言在上面)
    • 其他选项保持默认,点击【确定】。

第二步:添加表单字段

  1. 在刚刚创建的“视频留言”管理页面,点击【字段管理】。

    dede留言板调用视频
    (图片来源网络,侵删)
  2. 点击【添加新字段】,我们需要添加几个必要的字段:

    • 字段名: title (系统默认已有,用于留言标题)
    • 字段名: vtype (用于区分视频类型,如 youku, youtube, local)
    • 字段名: video_url (用于存放视频地址)
    • 字段名: video_img (用于存放视频封面图地址)
    • 字段名: dtime (系统默认已有,用于留言时间)

    详细配置每个字段:

    • vtype 字段 (视频类型):

      • 字段名称: 视频类型
      • 字段类型: radio (单选按钮)
      • 字段值: youku,优酷;youtube,YouTube;local,本地视频
      • 其他保持默认。
    • video_url 字段 (视频地址):

      • 字段名称: 视频地址
      • 字段类型: textarea (文本域)
      • 提示文字: 请输入视频链接,如优酷、YouTube分享地址,或本地视频相对路径。
      • 其他保持默认。
    • video_img 字段 (视频封面):

      • 字段名称: 视频封面
      • 字段类型: media (媒体类型,可以上传图片)
      • 其他保持默认。
    • dtime 字段 (留言时间):

      • 字段名称: 发布时间
      • 字段类型: datetime (日期时间)
      • 勾选【后台增加内容时自动更新时间】
      • 其他保持默认。
  3. 所有字段添加完毕后,点击【保存字段】。

第三步:创建留言发布页面

  1. 在网站根目录的 templets/plus/ 文件夹下,创建一个新文件,命名为 post_video.htm

  2. 在文件中编写表单HTML代码,用于让用户提交视频留言。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">发表视频留言</title>
    <link href="{dede:global.cfg_cmsurl/}/templets/style/dedecms.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="bg-f4">
    <div class="container">
      <div class="cont">
        <form name="myform" action="/plus/diy.php" enctype="multipart/form-data" method="post">
          <input type="hidden" name="action" value="post" />
          <input type="hidden" name="diyid" value="在这里填写你的自定义表单ID" />
          <input type="hidden" name="do" value="2" />
          <table width="100%" border="0" cellspacing="0" cellpadding="0" class="table maintable">
            <tr>
              <td width="150" align="right" valign="top">留言标题:</td>
              <td><input name="title" type="text" id="title" class="intxt" style="width:300px" /></td>
            </tr>
            <tr>
              <td align="right" valign="top">视频类型:</td>
              <td>{dede:field.vtype function='GetMkHtml(@me)'/}</td>
            </tr>
            <tr>
              <td align="right" valign="top">视频地址:</td>
              <td><textarea name="video_url" id="video_url" rows="3" style="width:300px"></textarea>
                <span style="color:#999">请输入优酷、YouTube等平台的分享链接。</span>
              </td>
            </tr>
            <tr>
              <td align="right" valign="top">视频封面:</td>
              <td>{dede:field.video_img function='GetHtml(@me)'/}</td>
            </tr>
            <tr>
              <td align="right" valign="top">验证码:</td>
              <td>
                <input name="validate" type="text" id="vdcode" style="width:50px;text-transform:uppercase;" />
                <img id="vdimgck" src="/include/vdimgck.php" alt="看不清?点击换一张" align="absmiddle" style="cursor:pointer" onclick="this.src='/include/vdimgck.php?t='+Math.random()" />
              </td>
            </tr>
          </table>
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td height="50" align="center">
                <button type="submit" class="btn btn-primary">提交留言</button>
                <button type="reset" class="btn">重置</button>
              </td>
            </tr>
          </table>
        </form>
      </div>
    </div>
    </body>
    </html>

    注意: post_video.htm 中的 {dede:field.vtype function='GetMkHtml(@me)'/}{dede:field.video_img function='GetHtml(@me)'/} 是DedeCMS自定义表单的标准调用标签,用于生成表单元素。diyid 的值请回到【自定义表单】列表中查看。

第四步:创建留言列表页面

  1. 在网站根目录的 templets/plus/ 文件夹下,创建一个新文件,命名为 list_video.htm

  2. 在文件中编写代码,用于循环显示视频留言。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">视频留言板</title>
    <link href="{dede:global.cfg_cmsurl/}/templets/style/dedecms.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div class="container">
      <h2 class="tith02">视频留言板</h2>
      <div class="guestbook">
        <!-- 调用视频留言列表 -->
        {dede:loop table='dede_addonvideo' sort='id' row='10' titlelen='30'}
        <div class="msg">
          <div class="msgtitle">
            <span class="name">[field:title function='htmlspecialchars(@me)'/]</span>
            <span class="date">[field:pubdate function='GetDateTimeMK(@me)'/]</span>
          </div>
          <div class="msgcon">
            <!-- 根据视频类型调用不同的播放器 -->
            [field:vtype runphp='yes']
              $vtype = @me;
              $video_url = trim(@me);
              if($vtype == 'youku') {
                  // 优酷iframe代码,注意替换VIDEO_ID
                  @me = '<iframe height="498" width="510" src="http://player.youku.com/embed/VIDEO_ID" frameborder="0" allowfullscreen></iframe>';
              } elseif($vtype == 'youtube') {
                  // YouTube iframe代码,注意替换VIDEO_ID
                  @me = '<iframe width="510" height="498" src="https://www.youtube.com/embed/VIDEO_ID" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';
              } elseif($vtype == 'local') {
                  // 本地视频使用HTML5 video标签
                  @me = '<video controls width="510" height="498" poster="[field:video_img/]"><source src="[field:video_url/]" type="video/mp4">您的浏览器不支持 video 标签。</video>';
              } else {
                  @me = '<p>暂不支持此类型视频。</p>';
              }
            [/field:vtype]
          </div>
        </div>
        {/dede:loop}
        <!-- 分页 -->
        <div class="page">
          {dede:pagelist listsize='4' listitem='info,index,end,pre,next,pageno'}
        </div>
      </div>
    </div>
    </body>
    </html>

    注意:

    • loop table='dede_addonvideo' 中的 dede_addonvideo 是你第一步创建的自定义表单对应的数据表名。
    • 优酷和YouTube的代码中,VIDEO_ID 需要替换成实际的视频ID,优酷ID是分享链接中 id_= 后面的部分,YouTube ID是 v= 后面的部分,这个可以通过PHP进一步解析,但为了简单,这里先手动替换。
    • [field:video_url/] 是你上传的本地视频的相对路径,如 /uploads/video/myvideo.mp4

第五步:在前台页面调用

你可以在任何页面通过链接访问你的视频留言板了。 链接格式为:你的网站域名/plus/diy.php?action=list&diyid=你的自定义表单ID

http://www.yoursite.com/plus/diy.php?action=list&diyid=1

你可以在模板页面中用一个按钮或链接指向这个地址。


修改默认留言表(不推荐,有风险)

这种方法是直接修改DedeCMS默认的留言数据表 dede_guestbook,为其增加视频相关的字段。

操作步骤:

  1. 备份数据库! 这是最重要的一步。
  2. 进入phpMyAdmin,找到你的DedeCMS数据库。
  3. 找到 dede_guestbook 表,点击“结构” -> “添加列”。
  4. 增加字段,如 vtype (varchar), video_url (text), video_img (varchar)。
  5. 修改 /plus/guestbook.php 文件,在保存留言的SQL语句中加入新字段。
  6. 修改留言发布模板 /templets/plus/guestbook.htm,增加视频上传或输入的表单。
  7. 修改留言列表模板 /templets/plus/guestbook_list.htm,使用 {dede:field.video/} 等标签来调用和播放视频。

缺点:

  • 修改核心文件,升级DedeCMS时需要重新修改,非常麻烦。
  • 容易与官方更新产生冲突。
  • 操作复杂,容易出错。

强烈不推荐普通用户使用此方法。


利用第三方留言插件(最简单)

市面上有很多功能强大的第三方留言插件,如“多说”、“畅言”(已停止服务)、“友言”等,这些插件本身就支持视频、图片等多媒体内容。

操作步骤:

  1. 选择一个你喜欢的第三方留言服务提供商,并注册账号。
  2. 获取你的站点ID或App Key。
  3. 在DedeCMS后台,找到该插件的安装说明,通常是上传文件、在模板中调用JS代码。
  4. 将JS代码粘贴到你的留言板模板文件(如 /templets/plus/guestbook.htm/templets/plus/guestbook_list.htm)中。

优点:

  • 无需修改DedeCMS核心,安全无忧。
  • 功能强大,通常自带反垃圾、社交分享等功能。
  • 升级DedeCMS不受影响。

缺点:

  • 依赖第三方服务,如果服务关闭,你的留言板也会失效。
  • 数据存储在第三方服务器,不是在自己的数据库里。

总结与建议

方法 优点 缺点 推荐度
自定义表单 灵活、强大、不修改核心、升级方便 需要一定的动手能力,步骤稍多 ★★★★★ (强烈推荐)
修改默认表 数据统一在一个表里 风险高、升级麻烦、易出错 ★☆☆☆☆ (不推荐)
第三方插件 最简单、功能丰富、安全 依赖第三方、数据不在本地 ★★★★☆ (适合不想折腾的用户)

对于绝大多数用户来说,方法一(自定义表单)是最佳选择,它在功能灵活性和系统安全性之间取得了最好的平衡,如果你只是想要一个快速、简单的解决方案,并且不介意数据在第三方,那么方法三(第三方插件)也是一个不错的选择。

-- 展开阅读全文 --
头像
dede数据库连接文件
« 上一篇 03-01
织梦投票无法选择怎么办?
下一篇 » 03-01

相关文章

取消
微信二维码
支付宝二维码

目录[+]