ecshop后台新建一个模块,添加分页

Posted 大白驴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ecshop后台新建一个模块,添加分页相关的知识,希望对你有一定的参考价值。

来一个 史上最全的ecshop后台的带分页的列表,绝对让你 粘贴过去 改改表名 就ok的  ,关键部分附有中文注释的。

首先是后台 ,我在后台admin下新建了一个页面  比如是yjlist.php,然后 你要做的就是 复制我下面这些代码 进入,全部覆盖哦

如下:

<?php

define(‘IN_ECS‘, true);
require(dirname(__FILE__) . ‘/includes/init.php‘);
require_once(ROOT_PATH . "includes/fckeditor/fckeditor.php");
require_once(ROOT_PATH . ‘includes/cls_image.php‘);
$exc = new exchange($ecs->table("xj"), $db, ‘id‘, ‘title‘); //这块 table里 存的是表名,改成你的表名,然后 id改成你的表里的主键的字段名,其余2处不用管
if(empty($_REQUEST[‘act‘])){
$_REQUEST[‘act‘] = ‘list‘;
}
if($_REQUEST[‘act‘] == ‘list‘){

//获取信息列表
$pzd_list = get_pzd_list();
$smarty->assign(‘pzd_list‘, $pzd_list[‘pzd_list‘]);
$smarty->assign(‘filter‘, $pzd_list[‘filter‘]);
$smarty->assign(‘record_count‘, $pzd_list[‘record_count‘]);
$smarty->assign(‘page_count‘, $pzd_list[‘page_count‘]);
//后台页面样式
$smarty->assign(‘full_page‘, 1);
//跳转页面
assign_query_info();
$smarty->display(‘yj_list.htm‘);//这里显示的是对应的html页面

}elseif ($_REQUEST[‘act‘] == ‘query‘){//分页代码
//获取信息列表
$pzd_list = get_pzd_list();
$smarty->assign(‘pzd_list‘, $pzd_list[‘pzd_list‘]);
$smarty->assign(‘filter‘, $pzd_list[‘filter‘]);
$smarty->assign(‘record_count‘, $pzd_list[‘record_count‘]);
$smarty->assign(‘page_count‘, $pzd_list[‘page_count‘]);

//跳转页面
make_json_result($smarty->fetch(‘yj_list.htm‘), ‘‘,
array(‘filter‘ => $pzd_list[‘filter‘], ‘page_count‘ => $pzd_list[‘page_count‘]));
}
//这里输出跳转的界面
//查询数据方法
function get_pzd_list()
{
$sql = "SELECT COUNT(*) FROM " . $GLOBALS[‘ecs‘]->table(‘xj‘);
$filter[‘record_count‘] = $GLOBALS[‘db‘]->getOne($sql);
//sql里的表名 改成自己的表名
$filter = page_and_size($filter);
/* 获活动数据 */
$sql = "SELECT * FROM " . $GLOBALS[‘ecs‘]->table(‘xj‘)." LIMIT ". $filter[‘start‘] .", " . $filter[‘page_size‘];
//表名改成自己的表名
$filter[‘keywords‘] = stripslashes($filter[‘keywords‘]);
set_filter($filter, $sql);
$row = $GLOBALS[‘db‘]->getAll($sql);
$arr = array(‘pzd_list‘ => $row, ‘filter‘ => $filter, ‘page_count‘ => $filter[‘page_count‘], ‘record_count‘ => $filter[‘record_count‘]);
return $arr;
}

?>

后台完事 接下来是前台了哦 仔细看哦 看重要代码

首先 确定下是否引入了 js 这样引入
  • <!–导入js–>  
  • {insert_scripts files=”../js/utils.js,listtable.js”}  

然后 就是用foreach遍历数据了 

 

{foreach from=$pzd_list item=topic}
<tr>
<td>{$topic.id}</td>
<td>{$topic.add_time}</td>
<td>{$topic.name}</td>
<td>{$topic.iphone}</td>
<td><a href="goods.php?act=edit&goods_id={$topic.goods_id}">{$topic.goods_name}</a></td>
<td align="left" style="text-align:center;">

<a href="javascript:;" onclick="listTable.remove({$topic.id}, ‘{$lang.drop_confirm}‘)" title="{$lang.remove}" class="btn btn-primary btn-xs"><i class="icon-trash"></i>{$lang.remove}</a></td>
</tr>
{foreachelse}
<tr>
<td colspan="10"><div class="analysis_info fl">
<div class="analysis_text"><i></i>
<p>{$lang.no_records}</p>
</div>
</div></td>
</tr>
{/foreach}

如果看的乱,可以忽略else...

最后 在页面的最下方 来一段 js 里面代码 都是不用改的直接复制粘贴就行,我都改好的
<script type="text/javascript" language="JavaScript">
{literal}
listTable.recordCount = {$record_count};
listTable.pageCount = {$page_count};
{foreach from=$filter item=item key=key}
listTable.filter.{$key} = ‘{$item}‘;
{/foreach}
{literal}
</script>

然后你就试试把 大功告成,亲测没问题,可分离性高


以上是关于ecshop后台新建一个模块,添加分页的主要内容,如果未能解决你的问题,请参考以下文章

ecshop 后台分页功能

在 Flex Datagrid 中添加分页的插件?

如何在 Angular 4 中为表格添加分页?

如何在 php 图像网格视图中添加分页?

在jsp中使用jtable为所有表添加分页

如何在 UICollectionView 中快速添加分页?