您当前的位置:首页 > 帝国插件

帝国cms调用最近浏览过的信息调用

来源:帝国CMS插件发布者:帝国CMS模板网时间:2010-10-07收藏本页

调用最近浏览过的商品或信息

把userfun.php文件复制到e/class/userfun.php覆盖原来的文件
把ShowInfo.php文件复制到e/action/ShowInfo.php覆盖原来的文件

栏目
在模板管理-标签-标签管理-增加标签,输入以下信息

标签名:最近浏览过的
标签符号:darkcircleming
函数名:darkcircleming
标签格式:[darkcircleming]COOKIE变量名,标题截取数[/darkcircleming]

在添加栏目的时候,在生成选项选择内容页模式为:动态页面

以下为userfun.php的内容
<?
//获得当前格林威治时间的时间戳
function gmtime()
{
return (time() - date('Z'));
}

//记录最近浏览
function recently_viewed($id,$tbname){

if (!empty($_COOKIE[$tbname]))
{
$history = explode(',', $_COOKIE[$tbname]);
array_unshift($history, $id);
$history = array_unique($history);

while (count($history) > 10)
{
array_pop($history);
}

setcookie($tbname, implode(',', $history), gmtime() + 3600 * 24 * 30);
}
else
{
setcookie($tbname, $id, gmtime() + 3600 * 24 * 30);
}
}

//调用最新浏览过的信息
function darkcircleming($table,$strlen){
global $empire,$public_r,$fun_r,$dbtbpre;

$where = db_create_in($_COOKIE[$table], 'id');
$sql = $empire->query("select title,classid,id from {$dbtbpre}ecms_{$table} where $where order by istop desc,newstime desc,id desc limit 7");
while($r=$empire->fetch($sql))
{
$title=sub($r[title],0,$strlen,false);
$title=DoTitleFont($r[titlefont],$title);
$titleurl=sys_ReturnBqTitleLink($r);
$list .= "<li>·<a href="".$titleurl."" target="_blank" title="".$r[title]."">".$title."</a></li>";
}
echo "<ul>".$list."</ul>";
}

/**
* 创建像这样的查询: "IN('a','b')";
*
* @access public
* @param mix $item_list 列表数组或字符串
* @param string $field_name 字段名称
*
* @return void
*/
function db_create_in($item_list, $field_name = '')
{
if (empty($item_list))
{
return $field_name . " IN ('') ";
}
else
{
if (!is_array($item_list))
{
$item_list = explode(',', $item_list);
}
$item_list = array_unique($item_list);
$item_list_tmp = '';
foreach ($item_list AS $item)
{
if ($item !== '')
{
$item_list_tmp .= $item_list_tmp ? ",'$item'" : "'$item'";
}
}
if (empty($item_list_tmp))
{
return $field_name . " IN ('') ";
}
else
{
return $field_name . ' IN (' . $item_list_tmp . ') ';
}
}
}
?>

ShowInfo.php 为动态内容页
在282行增加
recently_viewed($add[id],$class_r[$add[classid]][tbname]);