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

DedeCMS内容隐藏指定字段仅对会员可见的实现方法

发布时间:2021-06-10 09:03:54

DedeCMS内容隐藏指定字段仅对会员可见的实现方法

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值不能修改。 上一篇: 织梦实现有“简略标题”时显示简略标题否侧显示“文章标题”的方法

下一篇: Dede织梦5.7文档关键词维护开启无效解决方法