• 刘少工作室
  • SEO之家,相信品味的力量!
  • 首页
  • 留言本
  • 电脑应用
  • 健康养生
  • 杂七杂八
  • 资源分享
  • 3G生活
  • 网络硬盘
  • 登录
  • DedeCMS Digg功能大修改—精简代码、加cookie和实时显示

    [建站技术]
    post by Plus / 2011-11-23 22:38 Wednesday

    dedecms官方的digg功能是调用的一个dedeajax2.js的文件,那个文件是基于prototype写的代码~一共要6k的容量~虽然相对与prototype的126多K还是很小了~可是对于一个简单的异步传输,不用这么麻烦吧~下面我就给你介绍我用的代码~是用了一个xujiwei写的AJAXRequest的轻巧的AJAX代码~是国产的哦~


    关于实时显示digg数值的问题就看这篇文章吧~
    下面我们主要解决的是cookie和AJAX的digg问题~
    对于digg官方给的说法是:
    1.先添加dedeajax2.js的文件
    2.在模板中加上下面的代码:
    <script language="javascript">
    function Digg(divId,aid){
       var taget_obj = document.getElementById(divId+''+aid);
       var myajax = new DedeAjax(taget_obj,false,false,"","","");
       myajax.SendGet2("{dede:global name='cfg_cmspath'/}/digg.php?action=digg&aid="+aid);
       DedeXHTTP = null;
    }
    </script>
    3.在要显示“顶一下”的地方加上下面的代码:
    <div class="diggLink"><a href="javascript:Digg('digg',{dede:field _fcksavedurl=""javascript:Digg('digg',{dede:field" name='id'/});">顶一下</a></div>

    ====================================================================
    下面是我的方法~
    1.下载最新的AJAXRequest文件,很小的压缩后就只有3K!地址是2yq5_AJAXRequest_0.8.10p2.zip
    2.关于JavaScript的写法:
    function digg(arcid){//digg发送
    ajax.get("/digg.php?action=digg&aid="+arcid,
       function(obj){$("digg"+arcid).innerHTML=obj.responseText;Set_Cookie("digg"+arcid,"1","2592000","/");});
    }
    function WYQdigg(arcid){//内嵌的函数,获取cookie,防止多次提交digg
     if(Get_Cookie("digg"+arcid)=='1'){
      document.write('踩过了');
      }else{
       document.write('<a href="javascript:digg('+arcid+');" _fcksavedurl=""javascript:digg('+arcid+');"" title="踩个脚印,获得更高的排名。">踩一下</a>');}}
    function Get_Cookie(check_name){//获取cookie函数
     var a_all_cookies=document.cookie.split(';');
     var a_temp_cookie='';
     var cookie_name='';
     var cookie_value='';
     var b_cookie_found=false;
     for(i=0;i<a_all_cookies.length;i++){
      a_temp_cookie=a_all_cookies[i].split('=');
      cookie_name=a_temp_cookie[0].replace(/^s+|s+$/g,'');
      if(cookie_name==check_name){
       b_cookie_found=true;
       if(a_temp_cookie.length>1){
        cookie_value=unescape(a_temp_cookie[1].replace(/^s+|s+$/g,''));}
        return cookie_value;break;}
        a_temp_cookie=null;cookie_name='';}
        if(!b_cookie_found){return '';}}
    function Set_Cookie(name,value,expires,path,domain,secure){//设置cookie函数
     var today=new Date();
     today.setTime(today.getTime());
     if(expires){expires=expires*1000;}
     var expires_date=new Date(today.getTime()+(expires));
     document.cookie=name+"="+escape(value)+((expires)?";expires="+expires_date.toGMTString():"")+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+((secure)?";secure":"");}
    function Delete_Cookie(name,path,domain){//删除cookie函数
     if(Get_Cookie(name))document.cookie=name+"="+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+";expires=Thu, 01-Jan-1970 00:00:01 GMT";}
    function $(id){return document.getElementById(id);}
    var ajax=new AJAXRequest();
    *******************************************************
    下面这里可以写上你下载的AJAXRequest啦~这个js总共也就是3k多点吧~自己压缩下也可以哩~
    注释上面就可以看明白啦,就不多解释啦
    3.在你要现实“顶一下”的地方加上
    <div class="digglink" id="load">
          <script type="text/javascript">WYQdigg({dede:field name='id'/})</script>
        </div>
    4.补充功能:提交的动态效果~就是我在<div class="digglink" id="load">上面写了个id=load,这样就可以在提交的时候显示一个loading的图片啦~具体的做法是:
    function digg(arcid){//digg发送
    ajax.get("/digg.php?action=digg&aid="+arcid,
       function(obj){$("load").innerHTML=<img src="loading图片地址"/>;$("digg"+arcid).innerHTML=obj.responseText;Set_Cookie("digg"+arcid,"1","2592000","/");});
    }
    看清楚了没?就是加个innerHTML啦~

    标签: dedecms digg
    评论(0) 引用(0) 浏览(75)
  • 设定进入网站直接转到英文首页

    [建站技术]
    post by Plus / 2011-11-23 22:17 Wednesday

        最近郁闷死了,怎么都设置不好首页。例如 键入 172.18.13.168,但是显示的总是中文首页。我在后台设置好了入口语言就是“en”。

     

    $cfg_cache_type = 'id';
    $cfg_replace_num = 2;
    $cfg_df_lang = 'en';
    $cfg_addon_savetype = 'ymd';

     

    最后无赖中进入模板文件夹,看看,终于找到原因,如图

    原来除“ en”“  gb2312 ”,根目录下还有个 index.htm的域名根目录模板。

    进入修改它:

       <SCRIPT>
    window.location = "../plus/list.php?tid=8"
    </SCRIPT>

     

     

    自动转到英文首页。

    标签: dedeeims 首页
    评论(0) 引用(0) 浏览(75)
  • Dedecms文章页两次调用checkLogin问题

    [建站技术]
    post by Plus / 2011-11-13 13:44 Sunday

       今天在制作dedeeims模板遇到一个问题,在文章页部分,顶部和评论部分都要检查会员是否登录。而检查登陆的函数都是同名的。这里就会造成冲突,总有一个无法使用。

    最终,找到了解决办法,就是修改函数名。

    头部检查是否登录JS:

    <script language="javascript" type="text/javascript">
     <!--
     function isLogins(){
       var taget_obj = document.getElementById('_userlogin');
       myajax = new DedeAjax(taget_obj,false,false,'','','');
       myajax.SendGet2("{dede:global.cfg_cmspath/}/member/ajax_loginsta.php");
       DedeXHTTP = null;
     }
    -->
    </script>

    评论部分检查是否登录:

    function CheckLogin(){
       var taget_obj = document.getElementById('_ajax_feedback');
       myajax = new DedeAjax(taget_obj,false,false,'','','');
       myajax.SendGet2("{dede:global.cfg_cmsurl/}/member/ajax_feedback.php");
       DedeXHTTP = null;
    }

    我是修改了头部检查是否登录的函数名。把checkLogin修改为isLogins。修改完之后,需要修改头部检查登录的JS。同时,要修改每个页面的函数名。

    如果修改评论部分的代码,则只需要修改ajaxfeedback.htm里的JS代码以及其他文章页的JS代码。

    标签: dedeeims 登陆
    评论(0) 引用(0) 浏览(67)
  • dedecms 会员强制登录

    [建站技术]
    post by Plus / 2011-11-10 14:30 Thursday

     

    加了一段代码在 head2.htm里。


    <?php
    require_once(dirname(__FILE__)."/config.php");
    if($_COOKIE['DedeUserID']=='')
    {
    ?>

    <SCRIPT>
      window.location = "../member/index_do.php"
    </SCRIPT>

    <?php
    }
    ?>

     

    参考:

    现在在首页包含的header.htm文件里写了一行代码:<script language="JavaScript" src="member/js.php" type="text/javascript"></script>,这个包含的js.php文件里一个简单的条件判断,登录后显示相应信息,不登陆就显示“登录”等字。现在有这个问题:当未登录时,能正常输出js.Php判断后的内容,登录后什么也不显示,但是通过firefox查看源代码,打开js.php,里面已经全部输出了,可是为什么不能显示在页面上呢?
    js.php代码如下:

    复制代码
    1. <?php
    2. require_once(dirname(__FILE__)."/config.php");
    3. if($_COOKIE['DedeUserID']=='')
    4. {
    5. ?>
    6. document.writeln("       <div class=\"toplink\">");
    7. document.writeln("            <span>[<a href=\"\/member\/login.php\">登陆</a>]</span>");
    8. document.writeln("            <span>[<a href=\"\/member\/index_do.php?fmdo=user&dopost=regnew\">注册</a>]</span>  ");
    9. document.writeln("            <a href=\"\/member\/login.php\">帮助中心</a>");
    10. document.writeln("       </div>");
    11. <?php
    12. }else{
    13. $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid = ".$_COOKIE['DedeUserID']);
    14. ?>
    15. document.writeln("       <div class=\"toplink\">");
    16. document.writeln("         <span>欢迎您:<?php echo($row['userid']);?></span>");
    17. document.writeln("         <span>[<a href=\"/member/logout.php\">退出</a>]</span>  ");
    18. document.writeln("           <a href=\"/member/shops_products.php\">我的积分</a>");
    19. document.writeln("           <a href=\"/member/shops_products.php\">我的订单</a>");
    20. document.writeln("           <a href="/member/login.php">帮助中心</a>");
    21. document.writeln("        </div>");
    22. <?php
    23. }
    24. ?>

     

     

    A   answer:

    dedecms无法使用$_COOKIE['DedeUserID'])这种方式调用cookie值
    你可以echo $_COOKIE['DedeUserID'])看看是不是没有值,

    看看这篇文章
    http://wesoho.blog.51cto.com/715082/405586
    标签: dede 会员登录
    评论(0) 引用(0) 浏览(91)
1 2 3 4 5
  • 分类

    • 电脑应用(52) 订阅该分类
    • 3G生活(23) 订阅该分类
    • 资源分享(46) 订阅该分类
    • 建站技术(17) 订阅该分类
    • 娱乐休闲(32) 订阅该分类
    • 健康生活(17) 订阅该分类
  • 常用工具

    • 留言本
    • 万年历
    • 在线股票行情
    • 湖北卫视直播
  • 搜索

  • 日历

  • 赞助商

  • 最新日志

    • 如何设置市话通呼叫转移、取消呼叫转移?
    • Apk文件破解可见源码
    • QQ2011插件管理imchat 的应用
    • 删除win7系统100M隐藏分区 解决恼人的限制问题
    • 【原创】QQ2011正式版鱼刺挂机版
  • 最新评论

    • Plus
      hi.baidu.com.hk/lcwa...
    • Cheap Jordan Shoes
      嘻嘻
    • Buy Jordan Retro
      这个的确不错
    • Buy Jordan Retro
      武汉的地图哦
    • UGG boots Clearance
      你好
    • 宝宝档案
      宝宝档案设计下...
    • 明明
      每天逛几次,成...
    • 兰凯
      谢谢你终于解决...
    • Plus
      @陈明:多谢鼓励...
    • 陈明
      网站上的资源虽...
  • 链接

    • 明珠国际货运(shenzhen)
    • 贴吧----刘少
    • hi.baidu.com.hk/lcwanght
    • 刘少工作室(旧版)
    • 幽默笑话网
    • 秘密网络硬盘
    • 宝宝档案
    • 老鲨博客
    • 久久医学养生网
    • 闲吧资源站
    • 卡巴360
    • 第九令空间
    • 树下散人
    • emlog
  • 标签云

  • 统计信息

    • 粤ICP备08016468号
      访问记录
订阅Rss
Powered by emlog | Theme by wenlu 粤ICP备08016468号