清除浏览器cookie使用Cookie方法实现最近浏览过的信息调用_帝国cms插件_为帝国cms模板用户提供建站...

来源:百度文库 编辑:神马文学网 时间:2024/05/09 13:46:46
'}}}});z-index:99999;position: absolute;left:0px;top:0px;width:10px;height:10px;">

使用Cookie方法实现最近浏览过的信息调用

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

把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 .= "

  • ·".$title."
  • ";
            }
        echo "
      ".$list."
    ";
    }

    /**
    * 创建像这样的查询: "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]);