ECSHOP商品详情页添加调用同类随机商品
通过以下教程可以实现,在ECSHOP商品详情页中调用显示同类的随机商品
1,根目录下找到goods.php文件
查找代码:
$smarty
->assign(
'properties'
,
$properties
[
'pro'
]);
// 商品属性
在上面一行添加以下代码:
$smarty
->assign(
'category_related_random_goods'
, category_related_random_goods(
$goods
[
'cat_id'
]));
// 同分类随机商品
接着还在goods.php文件的最低部也就是 ?>前添加以下代码:
/*同分类下随机推荐商品*/
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 就是显示个数的
文章转载:http://www.gehut.cn/