如何在ECShop的二次开发中实现商品列表页显示每个商品的品牌信息?

avatar
作者
筋斗云
阅读量:0
在商品列表页显示每个商品的品牌,需要进行ecshop的二次开发,具体步骤如下:,,1. 打开ecshop的后台管理界面,进入“模板管理”->“模板选择”,找到商品列表页的模板文件(一般为goods_list.dwt),点击编辑。,,2. 在模板文件中,找到商品列表的循环代码块,一般在标签内。在该代码块中,添加以下代码:,,``html,{foreach $goods_list as $goods},,{$goods.brand_name}, ...,,{/foreach},`,,$goods.brand_name`表示商品品牌的名称,根据实际情况进行修改。,,3. 保存模板文件,并清除缓存。,,4. 重新访问商品列表页,即可看到每个商品下方都显示了对应的品牌名称。

在ECShop中,实现商品列表页显示每个商品的品牌,可以通过以下步骤进行二次开发:

如何在ECShop的二次开发中实现商品列表页显示每个商品的品牌信息?

修改category.php文件

1、打开category.php文件:找到该文件中的SQL查询语句,将原来的查询语句:

```php

$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, ';

```

修改为:

```php

$sql = 'SELECT g.goods_id, g.goods_name, b.brand_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ';

```

2、添加LEFT JOIN语句:在原SQL语句的基础上增加一行:

```php

" LEFT JOIN ". $GLOBALS['ecs']->table('brand') . " AS b on b.brand_id = g.brand_id ";

```

3、更新数组赋值语句:在获取结果集后,找到如下代码:

```php

$arr[$row['goods_id']]['name'] = $row['goods_name'];

```

如何在ECShop的二次开发中实现商品列表页显示每个商品的品牌信息?

在其下方增加一行:

```php

$arr[$row['goods_id']]['brand_name'] = $row['brand_name'];

```

修改模板文件goods_list.lbi

1、打开模板库文件:找到/themes/default/library/goods_list.lbi文件。

2、添加品牌显示代码:在需要显示品牌的地方加入以下代码:

```php

{$goods.brand_name}

```

通过以上步骤,可以在ECShop的商品列表页显示每个商品的品牌名称,如果需要进一步优化,还可以考虑以LOGO形式展示品牌。

以下是两个相关问题及解答:

1、如何在ECShop商品列表页按点击量(人气)排序?:要实现这一功能,需要在category.php文件中修改SQL查询语句,增加一个按点击量排序的字段,具体操作可以参考相关教程。

2、如何在ECShop后台的商品列表中也显示商品的品牌?:可以在/admin/includes/lib_goods.php文件中,定位到goods_list函数部分,找到相应的SQL查询语句并进行修改,使其包含品牌信息。

到此,以上就是小编对于“商品列表页显示每个商品的品牌-ecshop二次开发”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!