admin 发布的文章

在制作搜索框的时候用到了下拉选择的select标签出现了下拉样式不兼容的问题,在chrome和IE下不太协调,于是百度了一下找到已经可协调的样式。不过要高版本浏览器支持

如下

select {
  /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/
  border: solid 1px #000;

  /*很关键:将默认的select选择框样式清除*/
  appearance:none;
  -moz-appearance:none;
  -webkit-appearance:none;

  /*在选择框的最右侧中间显示小箭头图片*/
  background: url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center transparent;


  /*为下拉小箭头留出一点位置,避免被文字覆盖*/
  padding-right: 14px;
}

/*清除ie的默认选择框样式清除,隐藏下拉箭头*/
select::-ms-expand { display: none; }

直接贴到css里即可

1、修改模板页面member\templets\index.htm头部加入js

< script language = "javascript" >
function ajaxSign() {
    $.ajax({
        type: "get",
        url: "ajax_sign.php",
        data: {
            uid: '<?php echo $cfg_ml->M_ID;?>',
            time: new Date()
        },
        success: function(data) {
            alert(data);
            if (data != '今日已签到,请勿重复提交!' || data != 'ERROR') {
                location.reload(true);
            }
        }
    });
} < /script>/

2、然后在需要显示的部分 加入

<a href="javascript:ajaxSign();" target="_self">签到</a><span>( 每天签到,赠送金币!)</span>

3、上传ajax_sign.php到member目录(可以自己建立个文本文件然后复制以下内容到文本文件里,最后该文件改名为ajax_sign.php,注意后缀名)

ajax_sign.php文件的内容为:

<?php
require_once(dirname(__FILE__).'/config.php');
$uid = isset($uid) ? (int)$uid : '';AjaxHead();
if(!empty($uid)) {    $sql = "SELECT * FROM #@__member WHERE `mid`='{$uid}' LIMIT 1";
    $dsql->Execute('me',$sql);    $arr = $dsql->GetArray('me');
     if ($arr) {  $signdate = date('Y-m-d', $arr['signtime']);
       if ($signdate < date('Y-m-d')) {   $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `scores`=`scores`+" . $GLOBALS['cfg_score_sign'] . ", `signtime`='" . time() . "' WHERE `mid`='$uid' LIMIT 1");   echo '签到成功!积分增加' . $GLOBALS['cfg_score_sign'] . '个';
  } else {
     echo '今日已签到,请勿重复提交!';
       }        
   } else {  
    echo 'ERROR';
     }
 }

4、打开phpmyadmin,(不会用数据库的自己百度。最简单的方法,去百度一下phpadmin软件下载解压到网站根目录,然后在浏览器输入http://你的网址/phpmyadmin,PS:具体文件名和路径自己查找)

在dede_member中增加一个字段 signtime 类型为INT 长度值为:12

5、 这是最后一步,也是关键的一步: 在系统基本设置 增加新的 积分设定 :

变量名称填:cfg_score_sign

变量类型:文本

参数说明:会员签到所得积分

所属组:互动设置

设置完成后点击 保存变量即可

 

 

 

 

 

下面介绍dedecms会员空间如何调用会员头衔(积分头衔)。
首先,在站点根目录的include文件夹里找到extend.func.php这个文件,这个文件是用来添加功能扩展方法的。
用编辑器打开extend.func.php,在最后面添加一个函数:
function Getusertitle($mid)
{
    global $dsql; 
    $row = $dsql->GetOne("SELECT scores from `#@__member` where mid='$mid' ");
    $scores=$row['scores'];
    
    $arr = $dsql->GetOne("SELECT titles from `#@__scores` where integral <='$scores' order by integral desc");
    $title=$arr['titles'];
    echo $title;
    }

保存后覆盖原来的文件。

保存好后就可以调用它了,下面说明一下如何调用:
例:
比如我们要再会员空间的首页调用会员头衔,我们想显示在左侧,效果如下
用户昵称:** 最后登录:12-01-12 11:43 会员等级:注册会员 会员积分:132 分 会员头衔:少校 空间访问:297 次
那么,我们在会员空间模板里修改,比如我使用的是默认模板person,那么,我们修改目录\member\space\person下的side_icon.htm文件,用编辑器打开side_icon.htm,修改如下
<dd style='margin-top:10px;'>&nbsp;用户昵称:{dede:var.uname /}</dd>
            <dd>&nbsp;最后登录:{dede:var.logintime function="MyDate('y-m-d h:i',@me)" /}</dd>
            <dd>&nbsp;会员等级:{dede:var.membername/}</dd>
            <dd>&nbsp;会员积分:{dede:var.scores/} 分</dd>
            <dd>会员头衔:<?php Getusertitle($cfg_ml->M_ID);?></dd>
            <dd>&nbsp;空间访问:{dede:var.homecount/} 次</dd>
我在原来的基础上增加了一行 :
会员头衔:<?php Getusertitle($row['mid']);?>
保存好后,上传,就OK了。