`
moqiang02
  • 浏览: 529434 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

商品详情页面属性价格显示其对应价格

 
阅读更多

ecshop默认的商品属性显示的是加多少钱

第一步:在lib_goods.php中找到

function get_goods_properties 方法

将下面的get_goods_properties方法覆盖掉原来的get_goods_properties方法
/**
* 获得商品的属性和规格
*
* @access public
* @param integer $goods_id
* @return array
*/
//yyy修改start
function get_goods_properties($goods_id , $shop_price=0)
//yyy修改end
{
/* 对属性进行重新排序和分组 */
$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)
{
$row['attr_value'] = str_replace("\n", '<br />', $row['attr_value']);

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'];
//yyy修改start
$arr['spe'][$row['attr_id']]['values'][] = array(
'label' => $row['attr_value'],
'price' => $row['attr_price'],
'format_price' => price_format(abs($row['attr_price']) + $shop_price, false),'id' => $row['goods_attr_id']);//yyy修改end
}

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;
}

第二步:修改goods.php

首先搜索 $properties = get_goods_properties($goods_id); // 获得商品的规格和属性


将这句话修改为

$properties = get_goods_properties($goods_id, $goods['shop_price']); // 获得商品的规格和属性

第三步:修改模版文件themes/模版名称/goods.dwt

搜索{$lang.plus} 和 {$lang.minus} 将搜索出来的这两个变量全部删掉

(说明:不用改原来的数据。不过后台添加商品的时候还是要将属性的价钱编辑为加多少钱。比如原价是160 2磅是300 那么2磅对应的价格设置为140)


分享到:
评论

相关推荐

    javascript学习笔记.docx

    screen属性包含显示器的信息。 7) 打开窗口用open()方法,返回值是被打开的窗口。调用应该明确指明是window.open(),以避免和document.open()方法混淆。同时还应该调用focus()方法使窗口成焦点保证窗口可见。opener...

    Grid++Report 5.0 测试版,欢迎下载试用并报告问题

    打印显示器的工具栏上可以增加自定义按钮,并有对应事件用来执行对应任务。 报表查询显示方面: 查询显示器可以进行数据分页显示,既可固定表格行数分页,也可根据窗口大小自动分页。 查询显示器中当CTRL或SHIFT...

    电脑问题大搜捕

     机器启动之后按“DEL”键进入BIOS设置页面,在基本信息中同样也可以看到机器的硬件信息,与开机画面显示的没有区别。  二、利用设备管理器查看硬件配置   进入操作系统之后,在安装硬件驱动程序的情况下还可以...

    网院北语18秋《计算机应用基础》作业-1(满分)-.doc

    A: 对话框窗口的图标 B: 正在执行的应用程序窗口图标 C: 已翻开文档窗口的图标 D: 语言栏对应图标 14(4分) : 在Windows2000的"回收站〞中,存放的是___。 A: 只能是硬盘上被删除的文件或文件夹 B: 只能是软盘上被...

    如何让你的XP系统更加安全

    在对应标签的页面中选中“Internet连接防火墙”选项,然后再单击对应防火墙的“设置”按钮,来根据自己的要求设置一下防火墙,以便防火墙能更高效地工作。 6、安装杀毒软件、防火墙程序及上网安全保护程序 ...

    会计理论考试题

    C、装有CD—ROM光驱的电脑 D、价格较贵的电脑,是联网的电脑 33.在声音的数字化过程中,采样频率越高,声音的 _A_ 越好。 A、保真度 B、失真度 C、噪音 D、精度 34.对话框常见的组成元素不含___A___。 A、菜单栏 B、...

    total commander

    1、界面图标风格:安装程序添加界面设置页面,集成三套图标方案; 2、字体颜色布局:精选字体、配色及布局等要素,用户界面更美观。 四、智能安装卸载 1、安装方式:提供标准、完整、便携及自定义安装方式; 2...

    易语言模块大全(共775个模块)

    改变显示器状态(1.0).zip 更改光标(1.0).zip 高精度运算模块(2.1).zip 个性化电脑模块(1.0).zip 供应商管理模块(1.0).zip 光驱控制模块(1.0).zip 公历转换为农历(1.0).zip 关于窗口(1.0).zip 关联程序(1.0).zip 关联...

    易语言700模块打包

    改变显示器状态(1.0).zip 更改光标(1.0).zip 高精度运算模块(2.1).zip 个性化电脑模块(1.0).zip 供应商管理模块(1.0).zip 光驱控制模块(1.0).zip 公历转换为农历(1.0).zip 关于窗口(1.0).zip 关联程序(1.0)....

Global site tag (gtag.js) - Google Analytics