演示链接:查看演示

dedecmsdedecms列表list调用文章作者并指向个人主页链接

近端时间做了一个装修站,要求全面支持会员投稿,由于对dedecmsCMSdedecms较熟悉,就打算用dedecmsCMS模板搭建,支持前台会员和后台多账号管理。但是原版的后台还是或多或少有点问题,接下来整理了部分遇到的问题和亲测有效解决方法。

       文章列表页调用作者是较常用的方法,网上的方法我都试过了,没得到有效解决。熟悉dede的站长都知道

       指向后台管理的链接一般是

<a href="http://www.xx.com/member/">后台管理</a>

       指向前台会员空间的链接一般是

<a href="http://www.xx.com/member/index.php?uid=会员用户" >会员空间</a>

       如果是通过前台会员账号发布的内容,一般列表页用

{dede:list}

<ul>

<lu>

 <p>标题:[field:title/]</p>

 <p>作者昵称:<a href="http://www.xx.com/member/index.php?uid=[field:userid/]">[field:writer/]</a></p>

</li>

</ul>

{/dede:list}

       是不能直接调用会员用户名[field:useid/],网上的看到大都是调用作者[field:writer/],万一用户修改了链接就会提示出错。

       列表页如果还想调用用户昵称uname、sex等,也可以采用此方法:

找到/include/helpers/extend.helper.php

       在最后面添加变量,如果你修改过数据前缀,把橙色部分改过来就好

if(!function_exists('GetMemberInfo'))

{

   function GetMemberInfo($mid,$field)

   {

        global $dsql;

        if(empty($mid) || empty($field)){ return '';}

        $row = $dsql->GetOne("SELECT $field FROM `dede_member`  WHERE mid = '$mid'");

         $resualt =$row[$field];

        return $resualt;

   }

}

       这个GetMemberInfo变量就可以在列表页{dede:list}标签进行调用,如果是首页采用{dede:arclist}也支持。

上述列表指向前台会员空间应该写成

{dede:list}

<ul>

<lu>

 <p>标题:[field:title/]</p>

 <p>作者昵称:<a href="http://www.xx.com/member/index.php?uid=[field:mid function="GetMemberInfo(@me,userid)"/]">[field:writer/]</a></p>

</li>

</ul>

{/dede:list}

       其他用户信息:替代橙色部分即可。

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

 

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

 

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

 

pwd :表示用户的密码;

 

uname:表示用户的昵称;

 

sex:表示用户的性别;

 

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

 

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

 

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

 

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

 

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

 

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

 

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

THE END
喜欢就支持一下吧
点赞0 分享