云南网站建设创新企业 昆明多彩网络公司

在线qq:540105663

ecshop中怎么独立设置属性价格?

来源:昆明多彩网络公司 日期:2011-03-18 阅读: 发表评论

ecshop中的属性价格的原理是在原价基础上增减金额,但是这个操作不仅让很多人会感觉很疑惑,旁边还得摆上一台计算器来增减金额,这里介绍的是将价格直接输入,无需计算的教程。

该修正没有动到数据库,也不会影响之前添加的数据,只是在添加的时候自动将属性价格(全价)减掉基础价格再存储到数据库而已,修改的文件也比较少,仅需要修改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'].' <input type="text" name="attr_price_list[]" value="' . $pricenow . '" size="5" maxlength="10" />' :' <input type="hidden" name="attr_price_list[]" value="0" />';

注意前台显示方面不用修改任何文件。

发表评论评论列表(有 条评论)