西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

dedecms在静态页面上调用短消息情况

时间:2017-02-24 03:14来源:未知 作者:好模板编辑 点击:
在织梦dedecms模板会员中心的顶部有一个短信息的链接,如果有了未读短消息,就会用红色字体显示数量。感觉非常不错, 仔细一研究发现这页面是动态生成的,不可以应用在静态页面
在织梦dedecms模板会员中心的顶部有一个短信息的链接,如果有了未读短消息,就会用红色字体显示数量。感觉非常不错,
仔细一研究发现这页面是动态生成的,不可以应用在静态页面上,而我却想要在静态页面上实现这一效果,经过一番查找,发现可以用JS来做。
大家知道在织梦模板网站的首页上有一个判断用户是否登录的JS,其原理就是从某个页面读取信息,然后替换掉页面里面原来的信息。
根据这一启示,我们可以自己写一个PHP文件,然后重新写一段JS来执行这个PHP文件,从中获取短消息的情况。
PHP代码如下:
<?php 
$pms = $dsql->GetOne("SELECT COUNT(*) AS nums FROM dede_member_pms WHERE toid='{$cfg_ml->M_ID}' AND `hasview`=0 AND folder = 'inbox'"); 
if($pms['nums'] > 0) 
echo "<a href='/member/pm.php' target='_blank'>短消息 [<font color='#FF0000'>{$pms['nums']}</font>]</a>"; 
elseif($pms['nums']==0) 
echo "<a href='/member/pm.php' target='_blank'>短消息</a>"; 
?>
JS代码如下:
<script language="javascript" src="{dede:global name='cfg_cmspath'/}/include/dedeajax2.js"></script> 
<script language="javascript"> 
function CheckMsg(){ 
var taget_obj = document.getElementById('userdash');//这里的id要写你自己的才行 
myajax = new DedeAjax(taget_obj,false,false,"","",""); 
myajax.SendGet2("{dede:global name="cfg_memberurl"/}/ajax_newpms.php");//这是你的PHP文件的路径和文件名 
DedeXHTTP = null; 
CheckMsg(); 
</script>
这段代码调用了织梦dedecms模板的模板标签,如果不喜欢,可以直接用相对地址。
大家可以尝试下。
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容