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

要让未登录会员只能查看文章的一部分,这里需要修改dedecms本身的文件,修改后,你会发现上面有两个全局变量 $cfg_ckbodyopen 和 $cfg_ckbodynum ,你可以在后台系统设置里面增加这两个系统变量,以便控制改代码是否生效, $cfg_ckbodyopen 是Y表示启用,其

          要让未登录会员只能查看文章的一部分,这里需要修改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/}。
 



 

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

织梦DEDECMS 栏目文章文章命名规则修改, 每次添加栏目的时候 都要改文章命名规则,十分麻烦, 修改下面这个地方就可以一改永亦,织梦模板网为您解答 找到\include\common.inc.php 搜索 $cfg_df_namerule 把: $cfg_df_namerule = {typedir}/{Y}/{M}{D}/{aid
有时候我们需要实现织梦文章模型多个图片或者多个缩略图,这样的功能我们要怎么操作呢?其实方法还是蛮多的,不需要修改代码的办法就是在内容模型中建立多个字段(缺点就是想多加一个图就要多添加一个字段,而且上传也不方便,还有另外一种方法就是拓展类似
1、打开 /dede/spec_add.php 找到 $arcids = ; 改成 $arcids = array(); 2、打开 /dede/spec_edit.php 找到 $arcids = ; 改成 $arcids = array(); 完成
复制文章时带有版权功能并不复杂,代码如下: script type=text/javascript document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData(text); if (text) { text = text \r\n本篇文章来源于 www. baidu.com 原文链
打开/include/extend.func.php文件 在最下面加入: //文章body优化替换 function replaceurl($newurl) { global $dsql,$id; //获取图片附加表imgurls字段内容进行处 $row = $dsql-GetOne(SELECT title FROM dede_archives where id=$id); //替换图片Alt为文档
有时候我们需要在列表页直接调用body内容,这个怎么操作呢?其实方法很简单,只需要到后台找到这个列表对应的内容模型,我们以文章模型作为例子,找到内容模型,然后在列表附加字段中加入body,如下图所示: 调用的话直接在list标签中[field:body/]这样即可