ecshop 商品属性
来源:互联网 发布:淘宝英伦男装店铺排行 编辑:程序博客网 时间:2024/04/30 03:26
在B2C电子商务系统中,很可能在一个系统中,出售多种商品,而且不同的商品,却有不同的规格,不同的属性。在商品详情页会用到 商品属性,在ecshop中,通过三个字段来控制.
1:ecshop商品类型
2:ecshop属性名称
3:ecshop属性名称对应的属性值
首先,需要增加商品类型.增加商品类型的步骤为:后台->商品管理->商品类型->新建商品类型A
选择商品类型A,点属性列表.输入属性.
其次,使用属性.
新增商品->商品属性->输入属性所对应的值.
ecshop系统中,商品类型是存储在ecs_goods_type表里面,属性名称存储在ecs_attribute里面,商品对应属性名称的值.存储在 ecs_goods_attr表里面。用三字段,来控制他的值.
在goods.php中。你发现,以下代码来处理属性的。
$properties = get_goods_properties($goods_id); // 获得商品的规格和属性
$smarty->assign(‘specification’, $properties['spe']);
而ecshop 函数get_goods_properties()就是取得某个商品属性数组的。
function get_goods_properties($goods_id)
{
/* 对属性进行重新排序和分组 */
$sql = “SELECT attr_group “.
“FROM ” . $GLOBALS['ecs']->table(‘goods_type’) . ” AS gt, ” . $GLOBALS['ecs']->table(‘goods’) . ” AS g “.
“WHERE g.goods_id=’$goods_id’ AND gt.cat_id=g.goods_type”;
$grp = $GLOBALS['db']->getOne($sql);
if (!empty($grp))
{
$groups = explode(“n”, strtr($grp, “r”, ”));
}
/* 获得商品的规格 */
$sql = “SELECT a.attr_id, a.attr_name, a.attr_group, a.is_linked, a.attr_type, “.
“g.goods_attr_id, g.attr_value, g.attr_price ” .
‘FROM ‘ . $GLOBALS['ecs']->table(‘goods_attr’) . ‘ AS g ‘ .
‘LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘attribute’) . ‘ AS a ON a.attr_id = g.attr_id ‘ .
“WHERE g.goods_id = ‘$goods_id’ ” .
‘ORDER BY a.sort_order, g.attr_price, g.goods_attr_id’;
$res = $GLOBALS['db']->getAll($sql);
$arr['pro'] = array(); // 属性
$arr['spe'] = array(); // 规格
$arr['lnk'] = array(); // 关联的属性
foreach ($res AS $row)
{
if ($row['attr_type'] == 0)
{
$group = (isset($groups[$row['attr_group']])) ? $groups[$row['attr_group']] : $GLOBALS['_LANG']['goods_attr'];
$arr['pro'][$group][$row['attr_id']]['name'] = $row['attr_name'];
$arr['pro'][$group][$row['attr_id']]['value'] = $row['attr_value'];
}
else
{
$arr['spe'][$row['attr_id']]['attr_type'] = $row['attr_type'];
$arr['spe'][$row['attr_id']]['name'] = $row['attr_name'];
$arr['spe'][$row['attr_id']]['values'][] = array(
‘label’ => $row['attr_value'],
‘price’ => $row['attr_price'],
‘format_price’ => price_format(abs($row['attr_price']), false),
‘id’ => $row['goods_attr_id']);
}
if ($row['is_linked'] == 1)
{
/* 如果该属性需要关联,先保存下来 */
$arr['lnk'][$row['attr_id']]['name'] = $row['attr_name'];
$arr['lnk'][$row['attr_id']]['value'] = $row['attr_value'];
}
}
return $arr;
}
- ecshop 商品属性
- ECSHOP去除商品重复属性
- ecshop订单打印无法显示商品属性,前台商品属性
- ECSHOP批量上传加入自定义商品属性
- ecshop怎么得到商品属性的值
- ECshop 商品属性后台添加,前台显示
- ecshop二次开发之商品属性选择性遍历
- ecshop商品属性仿淘宝选择功能
- ecshop商品属性按照添加顺序排列
- ecshop商品属性仿淘宝选择功能
- ecshop怎么得到商品属性的值
- ecshop优化14-商品属性显示在商品详细页
- ecshop后台商品属性详解之分类页属…
- ECSHOP商品属性调用到任意页面方法
- ecshop数据库表15(ecs_attribute)商品类型属性表
- 【ECSHOP】在任意页面调用商品属性的方法
- 如何检测mysql 数据库执行了哪些sql语句 ecshop如何添加商品属性 ecshop 商品属性批量采集入库
- ECSHOP后台自定义价格区间让ECSHOP商品属性筛选更人性化
- html的基础介绍
- int、long、long long取值范围
- 简单标签_侯子腾的个人总结(第十二次课)
- sql server 2008学习笔记
- GCC与MinGW的简单使用
- ecshop 商品属性
- JavaSE第三十四讲:Arrays类解析及数组疑难剖析
- 11 csdn java 王少飞-编写自己的JDBC框架
- android service生命周期
- Android动态壁纸的制作教程
- Universal References in C++11—Scott Meyers
- C#中窗体间的消息传递
- 让编写TAESDK更方便,在notepad++中导入less主题文件
- 在SD/MMC卡中可读写的FAT文件系统