首页 > CMS建站 > 织梦DEDE > 正文

织梦模板如何实现未登录会员只能查看文章的一部分

2020-07-02 22:13:56
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了织梦模板如何实现未登录会员只能查看文章的一部分,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

织梦dedecms模板未登录会员只能查看文章的一部分

要让未登录会员只能查看文章的一部分,这里需要修改dedecms本身的文件,修改后,你会发现上面有两个全局变量 $cfg_ckbodyopen 和 $cfg_ckbodynum ,你可以在后台系统设置里面增加这两个系统变量,以便控制改代码是否生效, $cfg_ckbodyopen 是Y表示启用,其他任何字符都不使用,默认打开使用。 $cfg_ckbodynum 是未登陆的来客显示显示文章的字数,默认500字符,即250个中文字符。 还有,上面的<div 和 </div>之间的是没有登陆时打开文章显示在文章下面的,可以自行修改,但是注意,修改的时候不要用双引号,当然你会加上转义符的除外。 

打开include/arc.archives.class.php文件 

找到

“//End foreach”

在下面加上 

global $cfg_ckbodyopen,$cfg_ckbodynum;    $this->Fields['$cfg_ckbodyopen']  = (empty($cfg_ckbodyopen) ? "Y" : "$cfg_ckbodyopen" );    $this->Fields['$cfg_ckbodynum']  = (empty($cfg_ckbodynum) ? "500" : "$cfg_ckbodynum" );   if(($this->Fields['$cfg_ckbodyopen'] == "Y" || $this->Fields['$cfg_ckbodyopen'] == "y") && $this->Fields['ismake']==-1){    require_once(DEDEINC.'/memberlogin.class.php');    $this->MemberLogin = new MemberLogin();    $this->Fields['ckbodyhtml'] = " <br /><div class='ckbodyhtml' style='width:80%;margin-left:10%;margin-top:30px;float:left;border:1px solid #000;background:#dedede;text-align:center;'> 你没有登陆,无法阅读全文内容,点击此处登陆 </div>";if($this->MemberLogin->IsLogin()){      $this->Fields['ckbody'] = $this->Fields['body'];     //已经登陆    }else{     $this->Fields['ckbody'] = cn_substr(Html2Text($this->Fields['body']),$this->Fields['$cfg_ckbodynum']);     $this->Fields['ckbody'] .= $this->Fields['ckbodyhtml'];     //未登陆    }   }else{    $this->Fields['ckbody'] = $this->Fields['body'];        }

还有 在

//php5构造函数

前面加上

var $MemberLogin;

到此就可以了,在模板用{dede:field.ckbody/} 代替原来的{dede:field.body/}。

以上就是织梦模板如何实现未登录会员只能查看文章的一部分的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持错新网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表