您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop首页显示新订单交易信息滚动的方法
代真2023-11-23Ecshop商城教程已有人查阅
导读我们想要显示的无非就是什么人在什么时间购买了什么东西,这样分析下来我们需要去从数据库读取出来这来信息。从网上找到ecshop的数据字典,看了看 和咱们相关的表有三个
我们想要显示的无非就是什么人在什么时间购买了什么东西,这样分析下来我们需要去从数据库读取出来这来信息。从网上找到ecshop的数据字典,看了看 和咱们相关的表有三个ecs_order_info,ecs_order_goods,ecs_users,分别存储了订单信息,订单对应的商品信息和购买商品的用户信息。这三个表同 user_id,order_id和goods_id三个key来联系,下面我们要写出sql语句从中取出我们需要的那些信息,sql语句如下:
上面代码使用了$GLOBALS['db']->getAll($sql);来获取数据库里面记录,这个db是在init.php里面系统初始化加载好的全局变量,他负责和数据库交互,获取 数据等功能。有时间我写几篇ecshop代码分析的文章,详细讲解一下ecshop的初始化过程,大家就可以了解ecshop高质量的代码了。下面的那个foreach做的而 工作其实就是把数据封装到array,smarty在模板处理时数组友好的。上面只是获取了array,下面的语句是赋值array到smarty模板”
$smarty->assign('recent_buys', index_get_recent_buy_query());//获取很新的购买者信息
把这句话加到index.php的类似的地方就可以,基本上在80多行,ecshop集中模板赋值的地方。在面我们来看看赋过去的值smarty模板是怎么用的。
我们建立一个BusinessActivities.lbi来放我们的smarty模板内容。下面是代码:
下面你在你需要显示的地方加入 就可以显示了。
SELECT ecs_users.user_name, ecs_order_goods.goods_id,
ecs_order_goods.goods_name, order_info.add_time
FROM ecs_users, (
SELECT order_id, user_id, add_time
FROM ecs_order_info
ORDER BY ecs_order_info.add_time DESC LIMIT 0 , 20
) AS order_info, ecs_order_goods
WHERE order_info.order_id = ecs_order_goods.order_id
AND order_info.user_id = ecs_users.user_id;
上面语句的意思从ecs_order_info里面提取前20个交易,然后根据order_id,goods_id和user_id的关联来获取用户名、商品名、商品id和订单时间。搞定了sql语句, 下面我们就要按照ecshop的模式来写个函数,这个函数从通过数据库获取sql语句的内容,然后把这个sql的record封装到一个array里面,传给smarty模板来使用。 下面给出代码,大家参考一下:
/**
* 调用获取很新购买者和物品檠? *
* @access private
* @return array
*/
function index_get_recent_buy_query()
{
$sql = 'SELECT ecs_users.user_name, ecs_order_goods.goods_id,
ecs_order_goods.goods_name, ecs_order_info.add_time
FROM ecs_users, (
SELECT order_id, user_id, add_time
FROM ecs_order_info
ORDER BY ecs_order_info.add_time DESC LIMIT 0 , 20
) AS ecs_order_info, ecs_order_goods
WHERE ecs_order_info.order_id = ecs_order_goods.order_id
AND ecs_order_info.user_id = ecs_users.user_id;';
$all = $GLOBALS['db']->getAll($sql);
$arr = array();
foreach ($all AS $idx => $row)
{
$arr[$idx]['username'] = $row['user_name'];
$arr[$idx]['goodName'] = $row['goods_name'];
$arr[$idx]['goodID']= $row['goods_id'];
$arr[$idx]['add_time'] = local_date(
$GLOBALS['_CFG']['date_format'], $row['add_time']);
}
return $arr;
}
上面代码使用了$GLOBALS['db']->getAll($sql);来获取数据库里面记录,这个db是在init.php里面系统初始化加载好的全局变量,他负责和数据库交互,获取 数据等功能。有时间我写几篇ecshop代码分析的文章,详细讲解一下ecshop的初始化过程,大家就可以了解ecshop高质量的代码了。下面的那个foreach做的而 工作其实就是把数据封装到array,smarty在模板处理时数组友好的。上面只是获取了array,下面的语句是赋值array到smarty模板”
$smarty->assign('recent_buys', index_get_recent_buy_query());//获取很新的购买者信息
把这句话加到index.php的类似的地方就可以,基本上在80多行,ecshop集中模板赋值的地方。在面我们来看看赋过去的值smarty模板是怎么用的。
我们建立一个BusinessActivities.lbi来放我们的smarty模板内容。下面是代码:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--{if $recent_buys}-->
<ul> {foreach from=$recent_buys item=buy_info}
<li>· {$buy_info.username} 在 {$buy_info.add_time}
买了<a href='goods.php?id={$buy_info.goodID}'> {$buy_info.goodName}</a></li>
{/foreach}
</ul>
<!-- {/if} -->
大家注意看上面的是来说明你的模板内容基本信息的,我这里是utf8,如果你是gbk,要改成gbk哦。 是和我们上面php程序里面的$smarty->assign(’recent_buys’, index_get_recent_buy_query())对应的,若果你给recent_buys赋值, 并且这个值不为空或者0的话才显示咱们的模板内容。我们重点看,foreach是smarty模板内置函数,其 主要作用是遍历传入的数组,然后生成内容,类似于其他语言里面的foreach。这句话就是遍历recent_buys,然后把每次遍历的项做buy_info,其实这个buy_info 就是咱们数据的2维数组的第二维了。你可以直接用{$buy_info.goodName}这种形式来调用你数组传入的内容。用smarty模板 的数据和现实分离,很爽的。下面你在你需要显示的地方加入 就可以显示了。
本文标签:
很赞哦! ()
相关教程
图文教程
在ecshop购物车页面怎么显示商品简单描述
1、这里说的商品简单描述,不是商品的详细信息,而是后台编辑商品时在“其他信息”标签栏填写的那个“商品简单描述”,即goods_brief字段
ecshop商品属性库存自动生成货品库存的实现方法
ecshop自动生成货品库存,货品列表自动组合商品属性库存,无需在设置商品属性后到货品列表手动设置组合商品属性库存,简化工作流程。
ecshop浏览记录商品图片标题宽带长度怎么修改
ecshop里面有浏览历史记录,在ecshop二次开发的时候,常常对这个地方进行调整.到不是说修改浏览历史记录的原理。而是修改ecshop浏览历史记录的数据显示方式.很简单
ecshop实现二级导航的调用方法
要实现这个二级导航的功能只需要在lib.main.php大约1969~1979之间的 'cid' => $row['cid'],下面加上一句
相关源码
-
(自适应)大型农业机械设备水稻玉米收割机网站pbootcms源码下载本模板基于PbootCMS内核开发,为农业机械设备制造与销售企业设计,特别适合水稻玉米收割机、拖拉机、播种机等农用机械展示。模板充分考虑了农机行业的特性,从产品展示到技术参数,从作业案例到售后服务查看源码 -
(自适应)蓝色自动溶剂萃取仪器设备类网站pbootcms模板下载本模板为溶剂萃取设备、实验室仪器等精密仪器行业设计,采用PbootCMS内核开发,具有高度专业性和行业适配性。模板设计充分考虑了仪器设备行业展示需求,能够呈现各类精密仪器的技术参数、应用场景和解决方案。查看源码 -
帝国cms题库问答学习平台模板知识付费网站源码+数据采集为教育机构、培训平台及在线学习场景设计,提供完整的题库管理与问答服务解决方案。支持多种题型展示与答案查询,满足不同层次的学习需求。查看源码 -
(自适应响应式)英文外贸汽车零配件五金机械网站模板为汽车零部件制造商与五金机械出口企业打造的响应式网站模板,内置多语言切换功能,支持产品参数表、OEM能力展示等外贸场景需求。通过结构化数据展示帮助海外买家快速理解产品规格。查看源码 -
帝国CMS7.5手游资讯下载综合门户免费网站模板本模板基于帝国CMS7.5内核开发,为手游打造的综合门户网站解决方案。模板设计充分考虑了手业的特性,包含游戏资讯发布、手游下载、礼包发放、开测信息等核心功能模块,满足手游门户网站的各项业务需求。查看源码 -
(自适应)帝国cms7.5文章新闻博客整站源码( 带会员中心)本模板基于帝国CMS内核开发,为新闻资讯、个人博客及作品展示类网站设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验。查看源码
| 分享笔记 (共有 篇笔记) |
