帝国论坛 → 帝国网站管理系统交流区 → 模板/标签/插件共享交流 → 实现浏览记录或者浏览历史,文章历史记录 【本版专题贴子】  
 1/4     1 2 3 4 ›› ›|
主题:实现浏览记录或者浏览历史,文章历史记录 [加入收藏夹]   

qiuxis
用户头衔:秀才

精华贴   :0
发贴数   :89
经验值   :559
注册时间:2012-12-26
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
实现浏览记录或者浏览历史,文章历史记录
最近由于做网站的需要,想加入浏览历史记录。在帝国里面找到了这个实现代码,没有做特别的改动,只是想把他实现出来,但是作者没有说明。这里做一下记录。
附原作者的链接:http://bbs.phome.net/ShowThread?threadid=294140&forumid=31
按下面的步骤来操作
第一步:先把内部代码放入userfun.php中,代码如下:

<?php
//---------------------------浏览历史记录函数
function user_SetCook($name,$id,$time=0,$num=10){//cookie名称 ID 时间戳 数量
global $empire,$dbtbpre;
$r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=$id");
        if(!$id||!$r['id']){
                printerror2('不存在的产品记录',$_SERVER['HTTP_REFERER']);
                }
        $prodq=$id.'|';
        $projilu=getcvar($name);
        if($projilu){
                $prozuhe=$prodq.$projilu;//把新浏览的放在第一
                $pro_arr=explode('|',$prozuhe);
                $new_arr=array_merge(array_unique($pro_arr));//去除重复,重新索引下标        
                foreach($new_arr as $key=>$val){
                        if(($key<$num) && $val){
                                $pro.=$val.'|';
                                }
                        }
                }else{
                        $pro=$prodq;
                        }
        esetcookie($name,$pro,$time);
        //esetcookie($name,'',0);
        //print_r($_COOKIE);
}
//---------------------------浏览历史输出函数
function user_GetCook($name,$tbname,$num=10){ //名称 数据表 数量
        global $empire,$dbtbpre;
        if(preg_match("/^[0-9\|]+$/",getcvar($name))){
                $jilu_all=substr(getcvar($name),0,-1); //1|2|3
        $jilu_idin=str_replace('|',',',$jilu_all);//1,2,3
        }else{
        $jilu_idin=0;//避免sql错误没有返回0
        }
        $sql=$empire->query("select id,title,titlepic,titleurl from {$dbtbpre}ecms_{$tbname} where id in ({$jilu_idin}) order by find_in_set(id,'{$jilu_idin}') limit {$num}"); //按id in 里面的排序
        while($jilu_r=$empire->fetch($sql))
        {
                $titleurl=sys_ReturnBqTitleLink($jilu_r);
                echo '<li><a target="_blank" href="'.$titleurl.'">'.$jilu_r[title].'</a></li>';//此处是修改样式需要图片自己加
        }
}
?>
上面的代码放入e/class/userfun.php中

第二步:复制代码另存为xxx.php文件,以下是实现代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<style>
html, body, div, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, fieldset, input {margin: 0;padding: 0}
h1, h2, h3, h4, h5, h6, pre, code, address, caption, cite, code, em, strong, th {font-size: 1em;font-weight: normal;font-style: normal}
strong{ font-weight:bold}
address, caption, cite, code, dfn, em, i, th, var, b {
font-style: normal;
font-weight: normal;
}
ul,li, ol {list-style: none}
fieldset, img {border: none}
caption, th {text-align: left}
table { border-collapse: collapse; border-spacing: 0; }
/* LAYOUT */
.clear {clear: both}
a {        color: #4a4a4a}
a:link, a:visited, a:active {text-decoration: none}
a:hover {text-decoration: underline;color:#2a609f}
div a:hover {
color: #FF5A5A;
}
body {
font: 12px/18px "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
color: #4a4a4a;
}
div{
float: left;
width: 160px;
overflow: hidden;
}
div:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
div strong {
display: block;
font-size: 14px;
color: #999999;
margin: 5px 0 15px 0;
font-weight: bold;
}
div a {
margin: 0 10px 10px 0;
float: left;
display: block;
color: #666666;
border: 1px solid #dbdbdb;
background: #fbfbfb;
font-size: 12px;
font-weight: normal;
padding: 1px 6px;
-webkit-box-shadow: 1px 1px 2px #dbdbdb;
-moz-box-shadow: 1px 1px 2px #dbdbdb;
box-shadow: 1px 1px 2px #dbdbdb;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
word-wrap: normal;
word-break: keep-all;
}
</style>
</head>
<body>
<div>
<strong>浏览历史</strong>
<?php
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/userfun.php");
$link=db_connect();
$empire=new mysqlquery();
$id=(int)$_GET['id'];
user_SetCook('cookiepro',$id,0,10);//cookie名称可以自己定别重复 ID 时间戳 数量
user_GetCook('cookiepro','news',10);//字段是news
db_close();
$empire=null;
?>
</div>
</body>
</html>

保存为PHP文件比如xxx.php,放入e/public/ViewClick,文件夹中


第三步,把下面的代码放入内容页面。请注意,字段我是放新闻字段'news',所以内容页必须是新闻字段的内容页才行。修改字段可以放其他页面,比如商城,软件栏目等内容页面下。
<iFrame src="<?=$public_r[newsurl]?>/e/public/ViewClick/xxx.php?id=<?=$navinfor['id'] ?>" width="100%" scrolling="no" frameborder="0"></iFrame>
<script type="text/javascript" style="display:none">
function reinitIframe(){
var iframe = document.getElementById("ifm");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height =  height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>
放入你要放的位置,js代码是iframe自适应代码。不放入这段代码有可能不能适应高度。


我自己做的一些教程
1\每分钟自动更新生成一次内容页
http://bbs.phome.net/ShowThread?threadid=305894&forumid=31
2\微博群发插件,支持28个微博平台,支持定时发布
http://bbs.phome.net/ShowThread?threadid=304982&forumid=31
3\帝国短网址插件
http://bbs.phome.net/ShowThread?threadid=304088&forumid=31
4\把 网 站 的 图 片 批 量 放 云 服 务 器
http://www.dwz.cn/bxuRG
5\使用谷歌DOCS定时自动更新你的网站
http://bbs.phome.net/ShowThread?threadid=306593&forumid=31

上传以下附件:
[下载 *.rar](文件大小:2.87 KB,下载次数:143)

[该贴被修改 1 次,最后修改时间 2013-11-16 23:41:47 ]


[论坛教程] [普歌]
2013-11-16 23:39:42 已设置保密 顶部 回复 引用 报告 编辑 删除

luoto
用户头衔:探花

精华贴   :0
发贴数   :6404
经验值   :19273
注册时间:2008-11-08
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

支持




2013-11-17 08:57:41 已设置保密 顶部 回复 引用 报告 编辑 删除

wqqabc123
用户头衔:进士

精华贴   :0
发贴数   :653
经验值   :2138
注册时间:2010-06-19
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

谢谢楼主分享 支持



电热水龙头排行榜:http://www.gw517.com/
音乐工作室:http://www.005551.com/
淘宝商城大码女装:http://www.509055.com/
热水器十大品牌排名http://www.03552.com/
文山三七:http://www.sanqi.vip/
2013-11-17 12:39:59 已设置保密 顶部 回复 引用 报告 编辑 删除

8877
用户头衔:进士

精华贴   :0
发贴数   :1197
经验值   :4252
注册时间:2006-06-15
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

谢谢分享!




2013-11-17 20:16:43 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :7205
经验值   :22464
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

支持一下




2013-11-18 08:03:38 已设置保密 顶部 回复 引用 报告 编辑 删除

rerere
用户头衔:探花

精华贴   :0
发贴数   :5236
经验值   :16664
注册时间:2009-08-13
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持




2013-11-19 08:13:35 已设置保密 顶部 回复 引用 报告 编辑 删除

kkk999
用户头衔:举人

精华贴   :0
发贴数   :249
经验值   :825
注册时间:2006-05-19
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持楼主分享,赞一个



疯狂学习帝国CMS中......
2013-11-19 10:44:19 已设置保密 顶部 回复 引用 报告 编辑 删除

luoto
用户头衔:探花

精华贴   :0
发贴数   :6404
经验值   :19273
注册时间:2008-11-08
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持




2013-11-20 08:29:22 已设置保密 顶部 回复 引用 报告 编辑 删除

懂事的猫
用户头衔:进士

精华贴   :0
发贴数   :1848
经验值   :5640
注册时间:2011-03-04
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持你




2013-11-21 08:47:57 已设置保密 顶部 回复 引用 报告 编辑 删除

feier
用户头衔:探花

精华贴   :0
发贴数   :7048
经验值   :21959
注册时间:2008-07-31
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

不错




2013-11-22 08:27:54 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/4     1 2 3 4 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1