DiscuzX门户加入优酷视频按钮-Discuz教程下载

DiscuzX门户加入优酷视频按钮

来自版块: Discuz教程发表于: 2020-5-11 10:05:55
20702
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
所有操作均在终端下完成,所以没有图片

添加样式
找到并打开/source/module/home/home_editor.php,加入优酷按钮的样式
  1. a.icoYouku{background:url('/static/image/common/youku.ico');background-repeat:no-repeat;background-position:2px 2px;}
复制代码
这个icon的文件建议直接使用优酷官网的”favicon_16.ico”

添加标签
找到并打开/source/module/home/home_editor.php,查找
  1. <a href="javascript:;" class="icoSwf" id="icoSwf" onClick="createFlash(event, 1);return false;" title="<?php echo lang('home/editor', 'editor_link_flash'); ?>"></a>
复制代码
在这一行(可自行选择位置)之后加入优酷按钮
  1. <a href="javascript:;" class="icoYouku" id="icoYouku" onClick="createYouku(event, 1);return false;" title="添加优酷视频"></a>
复制代码
这里有一点要注意,我是直接写的中文文本,如果你和上面一样使用php读取本地化文本的话需要在editor_language里面自己加文本,不要忘记处理文本编码问题

还有就是我这里响应的是createYouku方法,方法名可自定义,后面也需要改成一样的

查找
  1. <div id="createPage" class="eMenu"
复制代码

并在下面按样例加入
  1. <div id="createYoukuDiv" class="eMenu" style="display:none;top:35px;left:26px;width:400px;font-size:12px">
  2.     <p>视频ID,例如[http://v.youku.com/v_show/id_<span style="color:red;">XMTc0Mjk1NDIwNA==</span>.html]</p>
  3.     <input type="text" id="YoukuVID" name="YoukuVID" value="" class="t_input" style="width:190px;" placeholder="XMTc0Mjk1NDIwNA==">
  4.     <input type="button" onclick="createYouku();" name="createYouku" value="<?php echo lang('home/editor','editor_ok'); ?>" class="submit">
  5.     <a href="javascript:;" onclick="fHide($('createYoukuDiv'));return false;"><?php echo lang( 'home/editor', 'editor_cancel'); ?></a>
  6. </div>
复制代码
响应方法
找到/static/image/editor/editor_base.js,将
  1. if(fInObj(el, "createUrl") || fInObj(el, "createImg") || fInObj(el, "createSwf") || fInObj(el, "createPage"))
复制代码
改为
  1. if(fInObj(el, "createUrl") || fInObj(el, "createImg") || fInObj(el, "createSwf") || fInObj(el, "createPage") || fInObj(el, "createYouku"))
复制代码
即可响应createYouku方法,但不一定需要这样改,可以直接写createYouku方法,这里是为了兼容dz其他的功能

在本文件中搜索var arrMatch,并按样例在最后加入icoYouku:"createYouku",注意检查是否掉了逗号

在String.prototype.trim = function()这一行之前,仿照上面的样例加入
  1. function createYouku(e, show) {
  2.     if (typeof show == 'undefined') {
  3.         //不要自作主张改将$改为jQuery
  4.         var YoukuVID = $('YoukuVID').value;
  5.         if ((YoukuVID != null)) {
  6.             setCaret();
  7.             format('insertHTML', '[youku]' + YoukuVID + '[/youku]');
  8.         }
  9.         fHide($('createYouku'));
  10.         $('YoukuVID').value = '';
  11.     } else {
  12.         if (gIsIE) {
  13.             var e = window.event;
  14.         }
  15.         getCaret();
  16.         var dvYoukuBox = $("createYouku");
  17.         var iX = e.clientX;
  18.         var iY = e.clientY;
  19.         dvYoukuBox.style.display = "";
  20.         dvYoukuBox.style.left = (iX - 350) + "px";
  21.         dvYoukuBox.style.top = 33 + "px";
  22.     }
  23. }
复制代码
查找fHideMenu方法,并在var arr = []中按样例加入'createYouku'

解析短代码
找到/source/function/function_blog.php文件,在function blog_bbcode($message)中,按样例加入一行
  1. $message = preg_replace("/\[youku](.+?)\[\/youku\]/ie", "blog_youku('\\1')", $message);
复制代码
当然这行正则可以自己随意修改,后面是匹配blog_youku的方参
在最后加上blog_youku的方法来解析短代码
  1. function blog_youku($vid){
  2.     return '<div id="youkuplayer" style="width:480px;height:400px"></div>
  3.             <script type="text/javascript" src="http://player.youku.com/jsapi"></script>
  4.             <script type="text/javascript">player = new YKU.Player(\'youkuplayer\',{styleid:\'0\',client_id:\'1c8daaa346d55d67\',vid:\''.$vid.'\',newPlayer:true,autoplay:true});</script>';
  5. }
复制代码

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部