在使用Dedecms进行网站开发时,添加最近浏览文章列表功能可以显著提升用户体验。以下是如何实现这一功能的详细步骤,确保您的网站能够更好地满足用户需求。

首先,创建一个新的数据库表来存储用户的浏览记录。执行以下SQL语句:


CREATE TABLE `数据库`.`dede_zj` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`mid` INTEGER UNSIGNED NOT NULL,
`ip` VARCHAR(45) NOT NULL,
`aid` INTEGER UNSIGNED NOT NULL,
`logintime` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`)
)

接下来,创建一个PHP文件名为count_zj.php,并将其存放在puls目录下。以下是该文件的内容:


M_ID; 
$joinip = GetIP(); 
// 当前时间戳 
$nowTime = time(); 

if($mid) 
{ 
$row = $dsql->GetOne(" Select * From `dede_zj` where aid='$aid' and mid='$mid'"); 
if(!$row){ 
$dsql->ExecuteNoneQuery("INSERT INTO dede_zj( `id`, `mid`, `ip`,`aid` ,`logintime`) 
VALUES ( ,$mid, '$joinip',$aid,$nowTime) "); 
} 
$db->SetQuery(" Select title From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.mid='$mid' order by logintime desc limit 1,5"); 
$db->Execute(); 
while($row = $db->GetArray()) 
{ 
echo "document.write('$row[title]');\\\\r\\\\n"; 
} 

} 
if(!$mid){ 
$m = $dsql->GetOne(" Select * From `dede_zj` where aid='$aid' and ip='$joinip'"); 
if(!$m){ 
$dsql->ExecuteNoneQuery("INSERT INTO dede_zj( `id`, `mid`, `ip`,`aid` ,`logintime`) 
VALUES ( ,$mid, '$joinip',$aid,$nowTime) "); 
} 
$db->SetQuery(" Select title From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.ip='$joinip' order by logintime desc limit 1,5"); 
$db->Execute(); 
while($row = $db->GetArray()) 
{ 
echo "document.write('$row[title]');\\\\r\\\\n"; 
} 

} 

exit(); 

?>

然后,在文章模板中添加以下代码:


 
 
 
 

最后,如果您希望在引用处直接显示最近浏览的文章链接,请使用以下代码替换之前的PHP文件:


M_ID; 
$joinip = GetIP(); 
// 当前时间戳 
$nowTime = time(); 

if($mid) 
{ 
$row = $dsql->GetOne(" Select * From `dede_zj` where aid='$aid' and mid='$mid'"); 
if(!$row){ 
$dsql->ExecuteNoneQuery("INSERT INTO dede_zj( `id`, `mid`, `ip`,`aid` ,`logintime`) 
VALUES ( ,$mid, '$joinip',$aid,$nowTime) "); 
} 
$db->SetQuery(" Select title,dede_archives.id From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.mid='$mid' order by logintime desc limit 1,5"); 
$db->Execute(); 
while($row = $db->GetArray()) 
{ 
echo "document.write(\\"\\");"; 
echo "document.write('".$row['title']."');"; 
echo "document.write(\\"\\");\\\\r\\\\n"; 
} 

} 
if(!$mid){ 
$m = $dsql->GetOne(" Select * From `dede_zjw` where aid='$aid' and ip='$joinip'"); 
if(!$m){ 
$dsql->ExecuteNoneQuery("INSERT INTO dede_zjw( `id`, `mid`, `ip`,`aid` ,`logintime`) 
VALUES ( ,$mid, '$joinip',$aid,$nowTime) "); 
} 
$db->SetQuery(" Select title,dede_archives.id From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zjw.ip='$joinip' order by logintime desc limit 1,5"); 
$db->Execute(); 
while($row = $db->GetArray()) 
{ 
echo "document.write(\\"\\");"; 
echo "document.write('".$row['title']."');"; 
echo "document.write(\\"\\");\\\\r\\\\n"; 
} 

} 

exit(); 

?>

以上步骤完成后,您的Dedecms网站将具备最近浏览文章列表的功能。请根据实际需要调整样式和布局,以确保与整体网站设计保持一致。