文档章节

ecshop 分页增加自定义参数,以投票页面为例

越野小生
 越野小生
发布于 2016/06/16 20:48
字数 496
阅读 17
收藏 0
点赞 0
评论 0

比如投票页面增加parent_id,order可以这样做

在根目录中建立voting_list.php文件,里面内容为

<?php
define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');

if ((DEBUG_MODE & 2) != 2)
{
    $smarty->caching = true;
}

/* 清除缓存 */
clear_cache_files();

/*------------------------------------------------------ */
//-- INPUT
/*------------------------------------------------------ */

/* 获得指定的分类ID */
$parent_id   = !empty($_REQUEST['parent_id'])  ? intval($_REQUEST['parent_id'])  : 0;
/* 获得当前页码 */
$page   = !empty($_REQUEST['page'])  && intval($_REQUEST['page'])  > 0 ? intval($_REQUEST['page'])  : 1;

/*------------------------------------------------------ */
//-- PROCESSOR
/*------------------------------------------------------ */

/* 获得页面的缓存ID */
$cache_id = sprintf('%X', crc32( 'voting_list-' . $page . '-' . $_CFG['lang']));

if (!$smarty->is_cached('voting_list.dwt', $cache_id))
{
    /* 如果页面没有被缓存则重新获得页面的内容 */

    assign_template();
$position =assign_ur_here();
    $smarty->assign('page_title',           $position['title']);     // 页面标题
    $smarty->assign('ur_here',              $position['ur_here']);   // 当前位置
$smarty->assign('keywords',    htmlspecialchars($_CFG['shop_keywords']));  
$smarty->assign('description',  htmlspecialchars($_CFG['shop_desc']));
    /* 获得文章总数 */
	
	
	
    $size  =1;
    $count = $db->getOne("SELECT COUNT(*) FROM " .$ecs->table('voting'). " WHERE status = 0 and parent_id=".$parent_id);
	
    $pages  = ($count > 0) ? ceil($count / $size) : 1;
	//总页面数量

    // if ($page > $pages)
    // {
        // $page = $pages;
    // }

    /* 获得文章列表 */

if(intval($_REQUEST['sort']) == 0){
		$orderby=" ORDER BY voting_id DESC";
	$sort=0;
	 }else{
		$orderby=" ORDER BY voting_num DESC";
	$sort=1; }
	

    //增加搜索条件,如果有搜索内容就进行搜索    
        
        $sql = 'SELECT * FROM ' .$GLOBALS['ecs']->table('voting') .
               ' WHERE status =0 and parent_id='.$parent_id.$orderby;
 
/* 仿真 Adodb 函数 function selectLimit($sql, $num, $start = 0) */
   
    $res = $GLOBALS['db']->selectLimit($sql, $size, ($page-1) * $size);
	
	
    $arr = array();
    if ($res)
    {
        while ($row = $GLOBALS['db']->fetchRow($res))
        {
            $voting_id = $row['voting_id'];
$arr[$voting_id]['parent_id']          = $parent_id;
            $arr[$voting_id]['id']          = $voting_id;
            $arr[$voting_id]['title']       = $row['title'];
			$arr[$voting_id]['voting_num']       = $row['voting_num'];
$arr[$voting_id]['cover_img']    = $row['cover_img'];


   $arr[$voting_id]['url']  = build_uri('voting_list', array('id'=>$voting_id,'parent_id'=>$parent_id), $row['title']) ;//生成具体的内容链接,还要修改includes/lib_common.php 中的build_uri()
  $arr[$voting_id]['add_time']    = date($GLOBALS['_CFG']['date_format'], $row['add_time']);
        }
		
    }
	

    $smarty->assign('voting_list',$arr);
	$pager = get_pager('voting_list.php', array('sort'=>$sort,'parent_id'=>$parent_id), $count, $page, $size);
  $smarty->assign('pager', $pager);
  //上面两行是分页.
  
}

$smarty->display('voting_list.dwt', $cache_id);


?>

如果还需要自动生成内容页的url,还要修改includes/lib_common.php 中的build_uri()函数.

增加

 case 'voting_list':
                if ($rewrite)
                {
                    $uri = 'voting_list';
                    if (!empty($page))
                    {
                        $uri .= '-' . $page;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '-' . $sort;
                    }
                    if (!empty($order))
                    {
                        $uri .= '-' . $order;
                    }
                    if (!empty($keywords))
                    {
                        $uri .= '-' . $keywords;
                    }
                }
                else
                {
                    $uri = 'voting_list.php?id='.$id.'&amp;parent_id='.$parent_id;
                    if (!empty($page))
                    {
						
                        $uri .= 'page=' . $page;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '&amp;sort=' . $sort;
                    }
                    if (!empty($order))
                    {
                        $uri .= '&amp;order=' . $order;
                    }
                    if (!empty($keywords))
                    {
                        $uri .= '&amp;keywords=' . $keywords;
                    }
					if (!empty($parent_id))
                    {
                        $uri .= '&amp;parent_id=' . $parent_id;
                    }
                }
           

            break;

 

© 著作权归作者所有

共有 人打赏支持
越野小生
粉丝 3
博文 113
码字总数 32174
作品 0
杨浦
ecshop 完美解决动态ip登录超时和购物车清空问题

ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出。而且购物车也没规律的会清...

thinkyoung ⋅ 2015/06/24 ⋅ 0

ecshop session丢失问题

ecshop session丢失问题 电子商务PHP 用ecshop搭建了一个电子商务的系统,本地测试一切正常。放到服务器上出现问题: 症状: 点着点着经常无故退出,感觉session被清空了。查找原因:ecshop中...

thinkyoung ⋅ 2015/06/29 ⋅ 0

第三方支付接口现号,第三方支付接口对接,第三方支付接口申请

第三方支付公司太多,到目前为止一共有5批206家拿牌支付公司:国付宝,支付宝,环迅,汇潮,易宝,快钱,智付,等等不管您从事与哪家,我们都必须面对这些事实,每家支付公司都有自己的优势跟...

alaimaro ⋅ 04/26 ⋅ 0

linux下安装ecshop,

本文参考https://blog.csdn.net/fuwei52406/article/details/50547366,略有修改。 感谢原作者。 安装apache服务器,php服务器,mysql服务器 yum install httpd yum install php 卸载掉原有mys...

云中栖 ⋅ 05/28 ⋅ 0

ecshop 工作流程加载配置介绍

ecshop 工作流程加载配置介绍 分类: ecshop2014-09-14 09:36 729人阅读 评论(2) 收藏 举报 模板引擎工作流 这里简单介绍下echsop工作流程: 首先,你会发现一般的echsop的php文件都会引入i...

thinkyoung ⋅ 2015/05/21 ⋅ 0

代码审计ECShop-V3.0.0 漏洞集合

  0×00 背景   不久前对ECShop-V3.0.0进行了一次粗浅的审计,还是发现了一些问题。本篇分析的漏洞利用条件是比较苛刻的,但是重要的是能够在审计的过程中学习到新的思路和知识,期待和师...

FreeBuf ⋅ 05/15 ⋅ 0

2018年5月第一二周下载中心资源下载TOP榜

2018年5月01日至2018年5月14日下载中心资源下载TOP榜 A、系统运维 NO.1 下载数:282 资源标题:Linux操作系统(上百个新特性)_红帽RHEL7新特性与功能汇总V1.0 资源地址:http://down.51cto.c...

51CTO下载 ⋅ 05/15 ⋅ 0

ECshop会员添加权限的开发教程

由于会员管理权限里面就包括会员添加和查看会员列表。但是这次开发需要只有会员添加权限,不允许看到其他会员的任何信息,所以才会有这两天的菜鸟级开发。希望对菜鸟级的人有用,因为在网上搜...

kangjunfei ⋅ 05/17 ⋅ 0

loading-cli 1.0.6 发布,命令行 loading 效果

loading-cli 1.0.6 发布,命令行loading效果。 更新内容 ee2991b - 修复参数frames无效.

同一种调调 ⋅ 01/21 ⋅ 0

ECShop 调用自定义广告

ECShop中关于广告的调用方法,网上有很多,现在要介绍的不同于其他,根据实际情况选择使用,以首页调用为例: 1、在index.php页面添加调用函数: /* * 调用广告位 */ functionindexaddiy() ...

serverking6 ⋅ 2013/10/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 28分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 29分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 30分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 45分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 49分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 51分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 52分钟前 ⋅ 0

Deepin 操作系统四面楚歌

作为国内做的最好的 Linux 发行版,源自 Debian sid 的 Deepin 目前正面临重重困境,新版本不断延期,开发人员离职,bug 长期得不到修复,和 Debian/Ubuntu 的兼容性问题也面临越来越严重的挑...

六库科技 ⋅ 52分钟前 ⋅ 0

MyBatis之动态sql

我们需要知道的是,使用mybatis重点是对sql的灵活解析和处理。在原先的UserMappser.xml中,我们这样查询表中满足条件的记录 : 123 <select id="findUserList" parameterType="userQuery...

瑟青豆 ⋅ 52分钟前 ⋅ 0

这届俄罗斯世界杯的冷门那么多怎么办?

最纯粹的世界杯,最神奇的大冷门。 德国0比1被墨西哥摩擦了。 日本历史性的赢了哥伦比亚。 C罗也挑平了西班牙。 梅西被冰岛狮吼吼愣神了。 就连11次进世界杯4强的巴西也被瑞士逼平了。 天台已...

开源中国众包平台 ⋅ 53分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部