ECSHOP 商品页详情页 添加同类随机商品

1,根目录下找到goods.php文件

找到代码  $smarty->assign(‘properties‘,          $properties[‘pro‘]);                              // 商品属性

在上面加代码 $smarty->assign(‘category_related_random_goods‘,       category_related_random_goods($goods[‘cat_id‘])); // 同分类随机商品

再在最底部添加上 随机同类商品的函数, 以下代码

/*同分类下随机推荐商品*/
function category_related_random_goods($category_id)
{
    $where = "g.is_on_sale = 1 AND g.is_alone_sale = 1 AND ".
            "g.is_delete = 0 AND g.cat_id=$category_id ";
    $sql = ‘SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ‘ .
                "IFNULL(mp.user_price, g.shop_price * ‘$_SESSION[discount]‘) AS shop_price, g.promote_price, g.goods_type, " .
                ‘g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ‘ .
            ‘FROM ‘ . $GLOBALS[‘ecs‘]->table(‘goods‘) . ‘ AS g ‘ .
            ‘LEFT JOIN ‘ . $GLOBALS[‘ecs‘]->table(‘member_price‘) . ‘ AS mp ‘ .
                "ON mp.goods_id = g.goods_id AND mp.user_rank = ‘$_SESSION[user_rank]‘ " .
            "WHERE $where ORDER BY rand() limit 12";
    $res = $GLOBALS[‘db‘]->query($sql);
    $arr = array();
    while ($row = $GLOBALS[‘db‘]->fetchRow($res))
    {
        $arr[$row[‘goods_id‘]][‘goods_id‘]     = $row[‘goods_id‘];
        $arr[$row[‘goods_id‘]][‘goods_name‘]   = $row[‘goods_name‘];
        $arr[$row[‘goods_id‘]][‘short_name‘]   = $GLOBALS[‘_CFG‘][‘goods_name_length‘] > 0 ?
            sub_str($row[‘goods_name‘], $GLOBALS[‘_CFG‘][‘goods_name_length‘]) : $row[‘goods_name‘];
        $arr[$row[‘goods_id‘]][‘goods_thumb‘]  = get_image_path($row[‘goods_id‘], $row[‘goods_thumb‘], true);
        $arr[$row[‘goods_id‘]][‘goods_img‘]    = get_image_path($row[‘goods_id‘], $row[‘goods_img‘]);
        $arr[$row[‘goods_id‘]][‘market_price‘] = price_format($row[‘market_price‘]);
        $arr[$row[‘goods_id‘]][‘shop_price‘]   = price_format($row[‘shop_price‘]);
        $arr[$row[‘goods_id‘]][‘url‘]          = build_uri(‘goods‘, array(‘gid‘=>$row[‘goods_id‘]), $row[‘goods_name‘]);
        if ($row[‘promote_price‘] > 0)
        {
            $arr[$row[‘goods_id‘]][‘promote_price‘] = bargain_price($row[‘promote_price‘], $row[‘promote_start_date‘], $row[‘promote_end_date‘]);
            $arr[$row[‘goods_id‘]][‘formated_promote_price‘] = price_format($arr[$row[‘goods_id‘]][‘promote_price‘]);
        }
        else
        {
            $arr[$row[‘goods_id‘]][‘promote_price‘] = 0;
        }
    }
    return $arr;
}

2,新建模板文件 category_related_random_goods.lbi
代码如下

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- {if $category_related_random_goods} -->
 <div class="box">
        <h3>Related Products</h3>
        <div>
        <ul>
        <!--{foreach from=$category_related_random_goods item=category_related_random_goods_data}-->
        <li class="li1" style="float:left; margin-bottom:20px;"><a href="{$category_related_random_goods_data.url}"><img src="{$category_related_random_goods_data.goods_thumb}" alt="{$category_related_random_goods_data.goods_name}"/></a></li>
        <li class="li2" style="float:left; margin-bottom:20px;"><a href="{$category_related_random_goods_data.url}" title="{$category_related_random_goods_data.goods_name}">{$category_related_random_goods_data.short_name}</a><br />
        <!-- {if $category_related_random_goods_data.promote_price neq 0} -->
        {$lang.promote_price}<font class="f1">{$category_related_random_goods_data.formated_promote_price}</font>
        <!-- {else} -->
        {$lang.shop_price}<font class="f1">{$category_related_random_goods_data.shop_price}</font>
        <!-- {/if} --></li>
        <!--{/foreach}-->
        </ul>
        </div>
 </div>
<div class="blank5"></div>
<!-- {/if} -->

样式可以自己定义
把category_related_random_goods.lbi文件复制到
/themes/你使用的模板/library/  
文件夹里

3,找到  /themes/你使用的模板/goods.dwt 
文件

在适当的位置加上

<!-- #BeginLibraryItem
"/library/category_related_random_goods.lbi"
--><!-- #EndLibraryItem
-->

一般加在 <!-- #BeginLibraryItem "/library/goods_tags.lbi"
--><!-- #EndLibraryItem
-->

下面或者上面,和其他模块是同理的

PS: googs.php 里 ORDER BY rand() limit 12   这个代码 12 就是显示个数的

时间: 2024-10-08 12:32:28

ECSHOP 商品页详情页 添加同类随机商品的相关文章

校园商铺-9前端展示系统-9店铺详情页的前端开发

1.前端 1.1 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>商店详情</title> <meta name="viewport" content

ECShop——给商品详情页添加字段

这两天在玩ECShop网店系统,对于一个技术外行,ECShop还是挺容易上手的,系统本身就提供了很多功能,一般情况下使用默认的功能就足够了.但是通用的东西肯定不能满足所有的用户需求,比如商品详细页的描述,就几乎没法做到适合所有商品,所以给商品页增加显示字段以更好地描述商品就显得很必要.下面就结合我这两天的经历,讲述一下怎样给商品页增加一个字段. 其实,增加商品页的显示内容,除了增加字段外,还有一个简单的方法就是通过添加商品属性来解决.这个操作很简单,只要在管理后台操作就行了,具体位置就是“商品管

ECSHOP 商品详情页购买数量 添加加减按钮

<input name="number" type="text" id="number" value="1" size="4" onblur="changePrice()" style="border:1px solid #ccc; "/> 修改为 <span class="goods_cut" _src="images

Ecshop商品详情页显示当前会员等级价格

会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的等级价格,在未登录状态下,则还默认显示原来的本店售价. 解决方法: 这个需要修改ECSHOP程序代码来实现. 打开文件 /includes/lib_goods.php 将 $row['shop_price_formated'] = price_format($row['shop_price']); 修改为 $row['shop_price_formated'] = $_SESSION[user_rank] ? price_

django-用户浏览记录添加及商品详情页

视图函数views.py # /goods/商品id class DetailView(View): '''详情页''' def get(self, request, goods_id): '''显示详情页''' try: sku = GoodsSKU.objects.get(id=goods_id) except GoodsSKU.DoesNotExist: # 商品不存在 return redirect(reverse('goods:index')) # 获取商品的分类信息 types =

亿级商品详情页架构演进技术解密 | 高可用架构系列

亿级商品详情页架构演进技术解密 | 高可用架构系列 --http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=210272034&idx=1&sn=3be9d2b53c7fec88716ee8affd2515f8&scene=1&srcid=UfXZNNOVZZyZjQmp0VOh&from=groupmessage&isappinstalled=0#rd 此文是开涛在[三体高可用架构群]之分享内容

构建需求响应式亿级商品详情页

原文出处: 张开涛 该文章是根据velocity 2015技术大会的演讲<京东网站单品页618实战>细化而来,希望对大家有用. 商品详情页是什么 商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口.京东商城目前有通用版.全球购.闪购.易车.惠买车.服装.拼购.今日抄底等许多套模板.各套模板的元数据是一样的,只是展示方式不一样.目前商品详情页个性化需求非常多,数据来源也是非常多的,而且许多基础服务做不了的都放我们这,因此我们需要一种架构能快速响应和优雅的解决这些需求问题.

Freemarker商品详情页静态化服务调用处理

--------------------------------------------------------------------------------------------- [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/53151462 作者:朱培      ID:sdksdk0 ----------------------------------------------------

电商网站商品模型之商品详情页设计方案

如下设计方案参考淘宝和华为商城 SKU SPU的关系 SPU = Standard Product Unit (标准产品单位)SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.例如iphone4就是一个SPU,与套餐.存储容量.颜色无关. SKU=stock keeping unit(库存量单位)SKU即库存进出计量的单位, 可以是以件.盒.托盘等为单位.SKU是物理上不可分割的最小存货单元.在使用时要根据不同业态,不同管理模式来处理.例如32G