要让未登录会员只能查看文章的一部分,这里需要修改dedecms本身的文件,修改后,你会发现上面有两个全局变量?$cfg_ckbodyopen?和?$cfg_ckbodynum?,你可以在后台系统设置里面增加这两个系统变量,以便控制改代码是否生效,?$cfg_ckbodyopen?是Y表示启用,其他任何字符都不使用,默认打开使用。?$cfg_ckbodynum?是未登陆的来客显示显示文章的字数,默认500字符,即250个中文字符。?还有,上面的
?
打开includearc.archives.class.php文件
找到“//End foreach”
在下面加上
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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/}。