会员登录 | 注册

来去留技术信息资源

来去留技术信息资源
来去留网 > 去看信息 > 程序系统 > 织梦DEDECMS实现未注册会员仅能查看文章部分内容的方法

织梦DEDECMS实现未注册会员仅能查看文章部分内容的方法

2012-03-27 18:56来源:未知发布者:laiquliu 查看:

织梦dedecms网站实现未注册会员仅能查看文章部分内容。这是一个很实用的方法,现在就给大家讲述下详细的解决办法。

打开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> 你没有登录,无法阅读全文内容,点击此处登录 </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/}就可以了,
 
当然,若是你留意看的,你就会发现上面有两个全局变量 $cfg_ckbodyopen 和 $cfg_ckbodynum 你可以在织梦dede系统配置内里增加这两个系统变量,以便可以不用改代码是否见效, $cfg_ckbodyopen 是提示启用,其他任何字符都不使用,默认打开使用。 $cfg_ckbodynum 是未登录的访客显示文章的字数,默认500字符,即250此中文字符。 尚有,上面的<div 和 </div>之间的是没有登陆时打开文章显示在文章下面的, 可以自行修改,可是留意,修改的时候不要用双引号,固然你会加上转义符的除外。

以上说的是dedecms V 5.3 的修改要领。
DEDECMS V5.1 的和V5.3基本情同,是打开 include\inc_archives_view.php 这个文件
上面修改的文件内里require_once(DEDEINC.'/memberlogin.class.php');改成 require_once(dirname(__FILE__).'/inc_userlogin.php');
在模板用{dede:field/} 代替本来的{dede:field/}就可以了. (责任编辑:laiquliu)

关注技术,信息,资源,扫描来去留网微信二维码交流。

来去留我李俊

搜索

------分隔线----------------------------
相关栏目

热点推荐
来去留技术信息资源
来去留网为您提供平台咨询交流学习方法及各类热门技术;电器,服装,保健,行业快讯等二十几个类别的资讯