ecshop中怎么独立设置属性价格?
来源:昆明多彩网络公司 日期:2011-03-18 阅读: 发表评论
该修正没有动到数据库,也不会影响之前添加的数据,只是在添加的时候自动将属性价格(全价)减掉基础价格再存储到数据库而已,修改的文件也比较少,仅需要修改admin/goods.php和admin/include/lib_goods.php两文件即可,有颜色部分即为增加的内容。
admin/goods.php:
$pricenow=$_POST['shop_price'];
$attr_value = $_POST['attr_value_list'][$key];
$attr_price = $_POST['attr_price_list'][$key];
if (!empty($attr_value))
{
if (isset($goods_attr_list[$attr_id][$attr_value]))
{
// 如果原来有,标记为更新
$goods_attr_list[$attr_id][$attr_value]['sign'] = 'update';
$goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price-$pricenow;
}
else
{
// 如果原来没有,标记为新增
$goods_attr_list[$attr_id][$attr_value]['sign'] = 'insert';
$goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price-$pricenow;
}
$val_arr = explode(' ', $attr_value);
foreach ($val_arr AS $k => $v)
{
if (!isset($keywords_arr[$v]) && $attr_list[$attr_id] == "1")
{
$keywords_arr[$v] = $v;
}
}
--------漂亮的分界符-----------
lib_goods.php:
$sqlprice="SELECT shop_price FROM " .$GLOBALS['ecs']->table('goods'). "WHERE goods_id='$goods_id'";
$pricenow = $GLOBALS['db']->GetOne($sqlprice)+$val['attr_price'];
$html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2) ? $GLOBALS['_LANG']['spec_price'].' . $pricenow . '" size="5" maxlength="10" />' :' ';
注意前台显示方面不用修改任何文件。
发表评论评论列表(有 条评论)