西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

在ECSHOP首页显示积分商城里的商品

时间:2011-02-19 03:07来源:未知 作者:好模板 点击:
今日看到ecshop论坛里有些朋友在讨论如何在首页调用积分商城里的商品, 也有一些朋友已经写出了大部分代码,但是由于个别错误,未能实现。 下面就以ECSHOP2.7.2官方默认模板为基础,

 今日看到ecshop论坛里有些朋友在讨论“如何在首页调用积分商城里的商品”,

也有一些朋友已经写出了大部分代码,但是由于个别错误,未能实现。

下面就以ECSHOP2.7.2官方默认模板为基础,给大家提供一个完整的解决方案。
1)、
首先打开 index.php 文件
在最末尾增加下面函数,注意千万不要写到 “?>” 的外面去,要加在“?>”的前面。
 

/**
* 获得积分商城热门商品
*
* @param   int      $limit        列出条数
* @param   int      $ishot       是否只显示热销
* @return array
*/
function index_get_exchange($limit=3,$ishot=0)
{
    /* 获得热门积分商品列表 */
$sql_ishot=$ishot ? " AND eg.is_hot=1 " : "";
$sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, eg.exchange_integral, ' .
' g.goods_type,g.goods_brief, g.goods_thumb, g.goods_img, eg.is_hot ' .
' FROM ' . $GLOBALS['ecs']->table('exchange_goods') . ' AS eg LEFT JOIN ' . $GLOBALS['ecs']->table('goods') . ' AS g ON g.goods_id = eg.goods_id  ' .
' WHERE eg.is_exchange = 1 AND g.is_delete = 0 '. $sql_ishot .'  limit '.$limit;

$res = $GLOBALS['db']->getAll($sql);
    $arr = array();
   foreach($res AS $idx => $row)
    {
$arr[$idx]['name']              = $row['goods_name'];
$arr[$idx]['goods_brief']       = $row['goods_brief'];
$arr[$idx]['goods_style_name'] = add_style($row['goods_name'],$row['goods_name_style']);
$arr[$idx]['exchange_integral'] = $row['exchange_integral'];
$arr[$idx]['type']              = $row['goods_type'];
$arr[$idx]['goods_thumb']       = get_image_path($row['goods_id'], $row['goods_thumb'], true);
$arr[$idx]['goods_img']         = get_image_path($row['goods_id'], $row['goods_img']);
$arr[$idx]['url']               = build_uri('exchange_goods', array('gid'=>$row['goods_id']), $row['goods_name']);
    }
    return $arr;
}



然后继续在 index.php 文件中 找到

 

 $smarty->assign('shop_notice',     $_CFG['shop_notice']);       // 商店公告

 在它下边另起一行增加如下代码

 $smarty->assign('goods_exchange_list',index_get_exchange(6,0));  //积分商城

 如果你想只显示热销的积分商品,只需将上面代码稍作修改即可

 $smarty->assign('goods_exchange_list',index_get_exchange(6,1));  //积分商城


2)、下面继续修改模板文件 themes/default/index.dwt

在你想显示积分商城商品的地方,加入下面代码段
 

<!--积分商城列表-->
<div class="box">
 <div class="box_1">
  <h3><span><a href="/exchange.php" class="f6">积分商城</a></span></h3>
    <div class="centerPadd">
    <div class="clearfix goodsBox" style="border:none;">
      <!--{foreach name=goods_exchange_list from=$goods_exchange_list item=exchange_goods}-->
      <div class="goodsItem">
  <a href="{$exchange_goods.url}" target="_blank"><img src="{$exchange_goods.goods_thumb}" alt="{$exchange_goods.goods_name}" class="goodsimg" /></a><br />
   <p><a href="{$exchange_goods.url}" target="_blank">
  <!-- {if $exchange_goods.goods_style_name} -->
  <font class="f3">{$exchange_goods.goods_style_name}</font><br />
  <!-- {else} -->
  <font class="f3">{$exchange_goods.goods_name}</font><br />
  <!-- {/if} -->
  </a>
  </p>
{$lang.exchange_integral}<font class="price">{$exchange_goods.exchange_integral}</font>
        </div>
      <!--{/foreach}-->
      <div class="more"><a href="/exchange.php"><img src="images/more.gif" /></a></div>
    </div>
    </div>
 </div>
</div>
<div class="blank5"></div>

 

3)、到后台清除下缓存,然后刷新首页就能看到效果了

(责任编辑:好模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------