在织梦(DedeCMS)系统中如何编写调用会员信息的


avatar
pcwnas 2023-04-21 180

原文来自:https://www.zixuephp.com

在织梦(DedeCMS)系统中如何编写调用会员信息的函数

这个函数其实我写过好几遍了,每次都是在一些朋友提问的时候,是随手写过来的,发过去解决了问题也就没管,可是昨天又有一个朋友来问我,让我突然觉得这个函数我已经不知不觉地写了快十遍.

顿时感叹:一个编程人员做事儿做到这种状态,实在是万分愚蠢,于是干脆自己写出来一个比较全面的教程分享给大家,以后有人问我,我就给他这个链接.

一、实现方法

1)函数编写

注意,自定义函数的编写一般都存放在/include/extend.func.php 中,以后升级只需要备份一下这个文件即可,打开这个文件,在文件中最后的?>上一行加入以下代码:

  1. functionGetMemberInfos($fields,$mid){
  2. global$dsql;
  3. if($mid<</span>=0){
  4. $revalue="Error";
  5. }
  6. else{
  7. $row=$dsql->GetOne("select*fromdede_memberwheremid='{$mid}'");
  8. if(!is_array($row)){
  9. $revalue="Notuser";
  10. }
  11. else{
  12. $revalue=$row[$fields];
  13. }
  14. }
  15. return$revalue;
  16. }

保存后关闭即可.

2)调用方式

要使用这个函数,可以利用系统自带的function与runphp来使用,在底层模板字段中,通常使用function方法,比如:

[field:mid function="GetMemberInfos('uname',@me)"/]

这样就可以很轻松的调用出某个会员的昵称了,那么要调用会员的用户名,则只需要将uname更换为userid即可,这里的值是支持member表的所有字段的,大致为如下一些.

mid 表示会员的唯一编号,由于其唯一的特性,一般用于区别会员;

mtype 表示会员的类型(如自带的“个人”与“企业”);

userid 表示会员用户名(也就是用于登陆);

pwd 表示用户的密码;

uname 表示用户的昵称;

sex 表示用户的性别;

rank 表示用户的等级(也就是后台的用户级别);

uptime 表示用户升级会员组的时间;

exptime 表示用户会员组的有效期天数;

money 表示用户拥有的剩余金币数量;

email 表示用户的注册邮箱地址;

scores 表示用户拥有的剩余积分数量;

matt 表示用户的级别(0为普通,1为推荐,10为后台超级管理员)

知道了以上的这些信息,还有什么不能调用的呢?

二、调用实例

刚才我们说到了调用方法,那么我们来看一下几个简单的实例.

1)在首页的arclist调用文档的所属会员昵称:

  1. {dede:arclistrow='8'titlelen='20'}
  2. <</b>li>标题:[field:title/]昵称:[field:midfunction="GetMemberInfos('uname',@me)"/]
  3. {/dede:arclist}

2)在内容页的field中调用闻到那股的所属会员昵称:

{dede:field.mid function="GetMemberInfos('uname',@me)"/}

好了,其它的情况大家去尝试一下吧.