我已阅读并接受《用户协议》
注册VIP账号,全站资源免费任意下!
欢迎来到微视媒-源码测试 经验教程 小程序源码 设计资源
开通会员全站免费下载
立即加入
您的一年会员开通成功!
您的一年会员开通成功!
今日下载数已用完
升级会员
提交
下载提示!请输入验证码验证哦!
看不清,重新获取
提交验证码
首页 > 织梦学习 >

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

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

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

573
98
  • 分 享 者:
    虎哥
  • 更新时间:
    06-03
  • 资源评分:
  • 分享方式:
    共享
  • 技术支持:
    暂无
  • 使用场景:
    仅供个人技术学习参考,拒绝商用
  • 可用操作:
您可能会喜欢的其他资源
点击咨询
在线时间:9:00-21:00