找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 105|回复: 0

[cms教程] dedecms模板未登录会员只能查看文章的一部分

[复制链接]

该用户从未签到

发表于 2020-4-22 14:27:29 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
织梦dedecms模板未登录会员只能查看文章的一部分
         
        要让未登录会员只能查看文章的一部分,这里需要修改dedecms本身的文件,修改后,你会发现上面有两个全局变量 $cfg_ckbodyopen 和 $cfg_ckbodynum ,你可以在后台系统设置里面增加这两个系统变量,以便控制改代码是否生效, $cfg_ckbodyopen 是Y表示启用,其他任何字符都不使用,默认打开使用。 $cfg_ckbodynum 是未登陆的来客显示显示文章的字数,默认500字符,即250个中文字符。 还有,上面的之间的是没有登陆时打开文章显示在文章下面的,可以自行修改,但是注意,修改的时候不要用双引号,当然你会加上转义符的除外。
        打开include\arc.archives.class.php文件
        找到“//End foreach”
        在下面加上
        Quote:
        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', = "
  你没有登陆,无法阅读全文内容,点击此处登陆 ";
        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构造函数 前面加上
        Quote:
          var $MemberLogin;
         
        到此就可以了,在模板用{dede:field.ckbody/} 代替原来的{dede:field.body/}。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-7 10:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表