您的位置:图文专栏 > 技术教程 > 织梦二开 >

实现织梦模板中指定字段仅对会员可见

发布时间:2020-12-26 13:04:02

实现织梦模板中指定字段仅对会员可见

Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。
 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。
前提是织梦开启会员功能,已经有了自定义字段。 

一、建立文件 ajax_loginsta_c.php

建立名称为ajax_loginsta_c.php的php文件,放到/member/目录下,内容如下:
<?php
require_once(dirname(__FILE__)."/config.php");
AjaxHead();
if($myurl == '')
{
 exit('');
}
if ($cfg_ml->fields['rank'] >= '20')
{
$row = $dsql->GetOne(" Select * From `dede_addonarticle` where `aid`=$val ");
echo $row['字段英文名']; 
}
?>
说明,上边三处根据自己情况修改。
1,上述中数字20,指的是会员级别值,织梦默认注册会员是10,在后台调整会员级别时可以自己设置
2,上述dede_addonarticle,是默认文章模型的附加表名,你用的别的模型请对应附加表;
3、字段英文名,这个在你新增字段时会有对应的英文名称。

二、织梦模板文件修改

1、首先模板头部引入以下代码:
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
<script language="javascript" type="text/javascript">
<!--
function CheckLogin_c(){ 
      var taget_obj = document.getElementById('_userlogin_c'); 
  var req = document.getElementById('hid').value; 
  myajax = new DedeAjax(taget_obj,false,false,'','',''); 
  myajax.SendGet2("{dede:global.cfg_cmspath/}/member/ajax_loginsta_c.php?val="+req); DedeXHTTP = null;}
-->
</script>
2、在你要显示自定义字段的位置引入
<span id="_userlogin_c"><a href="/member/index_do.php?fmdo=user&dopost=regnew">请注册后查看!</a></span>
<input type="hidden" value="{dede:field.aid/}" id="hid" />
<script language="javascript" type="text/javascript">CheckLogin_c();</script>
说明:上述 span 标签内的内容可以自己定义,id值不能修改。  上一篇: 关闭织梦dedecms后台登录/留言板/会员中心/注册验证码的方法

下一篇: 织梦文章添加字段填栏目id,内容页调用字段里的栏目文章