在给用户制作织梦模板的过程中,有的时候我们需要实现一些字段仅仅只对会员等特定用户展示,而对其他用户确实影藏的,就像是Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。如何实现这样的功能呢?例如我们在做织梦模板的时候,让下载地址、电话号码、联系方式等等仅仅只对某些级别的会员展示。
下面跟随武林网一起来看看如何实现的。要想实现这样的功能,前提是织梦开启会员功能,已经有了自定义字段。
建立名称为ajax_loginsta_c.php的php文件,放到/member/目录下,内容如下:
<?phprequire_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值不能修改。切记!
以上就是织梦模板制作中实现指定字段仅对会员显示功能的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答