DEDECMS如何限制某个字段只能会员才能浏览
百度搜索 **114,这个网站就是我用dedecms做的。
用dedecms做企业网站非常简单。你只需要
1熟悉后台功能模块
2查看dedecms的标签手册,并熟悉一下首页模板代码就够了。
3用html css写前台模板。
您好,朋友。跟版网团队很高兴为您解答:
这个问题的话,需要用到一段js代码的,参考官方的写法,先将/member/ajax_loginstaphp这个文件复制一份,命名为ajax_loginsta_cphp
头部这么写(哪个页面就放哪个文件的头部):
<script language="javascript" type="text/javascript" src="{dede:globalcfg_cmsurl/}/include/dedeajax2js"></script>
<script language="javascript" type="text/javascript">
<!--
function CheckLogin_c(){ var taget_obj = documentgetElementById('_userlogin_c'); var req = documentgetElementById('hid')value; myajax = new DedeAjax(taget_obj,false,false,'','',''); myajaxSendGet2("{dede:globalcfg_cmspath/}/member/ajax_loginsta_cphpval="+req); DedeXHTTP = null;}
-->
</script>
模板文件中这么写:
<span id="_userlogin_c">登录查看</span>
<input type="hidden" value="{dede:fieldaid/}" id="hid" />
<script language="javascript" type="text/javascript">CheckLogin_c();</script>
php:
<php
require_once(dirname(__FILE__)"/configphp");
AjaxHead();
if($myurl == '')
{
exit('');
}
if ($cfg_ml->fields['rank'] >= '10')
{
$row = $dsql->GetOne(" Select From `#@__youtable` where `aid`=$val ");
echo $row['字段名称英文'];
}
>
上面这段代码可在内容页中输出,如果要列表页输出的话,那还需要更深层二次开发。希望我的回答能够帮到您。跟版网-专业织梦模板定制下载站。
我们可以用传递参数加SQL实现,具体方法如下: 1、在内容页head之间加上JS:
<script src="{dede:globalcfg_cmsurl/}/include/dedeajax2js" type="text/javascript" ></script>
<script language="javascript">
function CheckLogin_c(){
var taget_obj = documentgetElementById('_userlogin_c');
var req = documentgetElementById('hid')value;
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajaxSendGet2("{dede:globalcfg_cmspath/}/member/ajax_loginsta_cphpval="+req);
DedeXHTTP = null;
}
</script> 2、在内容页需要会员限制才能查看的地方添加代码(会员登录前的样子):
<span id="_userlogin_c"><a href="/member/index_dophpfmdo=user&dopost=regnew">请注册后查看!</a></span>
<input type="hidden" value="{dede:fieldaid/}" id="hid" />
<script language="javascript" type="text/javascript">CheckLogin_c();</script>
这里获取文章ID的文本框一定要在js之前 3、在/member文件夹中新建一个文件:ajax_loginsta_cphp,添加如下代码(会员登录后的样子):
<php
require_once(dirname(__FILE__)"/configphp");
AjaxHead();
if($myurl == '')
{
exit('');
}
$uid = $cfg_ml->M_LoginID;!$cfg_ml->fields['face'] && $face = ($cfg_ml->fields['sex'] == '女') 'dfgirl' : 'dfboy';
$facepic = empty($face) $cfg_ml->fields['face'] : $GLOBALS['cfg_memberurl']'/templets/images/'$face'png';>
<php
$row = $dsql->GetOne(" Select From `js_addoninfos` where `aid`=$val ");
>
<php echo $row['tel']; > 经本人测试,没有任何问题!参考网站: http://wwwjisuxcom/science/dedecms/2011/221html
可能该会员还没有登录过,数据库默认的该字段的值为0
所以需要做个判断吧。。。如果该字段的值为0,那么提示是首次登录就ok!
<div class="welcome">
<php
if($row['logintime']==0){
echo "首次登录!";
}else{
echo "上次登录时间:",MyDate(("Y-m-d",$row['logintime']);
}
你是通过ajax来获取到数据的 ,但是你用的是标签代码生成的是静态页面的方法,当然无法传值到你的后台,当然返回的是没有数据的内容。你既然是用ajax来分页就需要知道 你每次传值的返回内容是什么?你可以验证一下你的值是否传递过去了如果传到了后台但是后台给你的返回的是否是你想要的值,然后通过js来拼接成HTML显示到页面中。就完成了ajax分页的效果。
0条评论