DedeCMS内容隐藏指定字段仅对会员显示对游客不可见的实现方法
大家都知道,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值不能修改。