批量修改商品价格[TianYan教程]

2016-07-07 16:50 来源:www.chinab4c.com 作者:ecshop专家

很多时候呢,我们需要根据商品的基本价格计算出商品的市场销售价,但是ecmall只有一个价格体系,因此无法计算。
主要的功能:
1.设置三个价格体系,市场价,本店价和进货价,进货价只有店主能看到
2.可以根据某一个价格,计算出其他价格。例如本店价=进货价*2;

因修改内容太多,无法一一列举本教程只是提供给大家一个修改思路,具体修改内容请参考下面完成。
1.增加市场价,进货价三个价格级别
1.1 搜索 price 关键词,相应位置增加 price0,price1 两个价格
1.2 在数据库ecm_goods_spec 增加price0,price1两个字段,字段类型decimal(10,2)
2.修改 my_goods.index.html 设置商品列表显示方式,增加批量修改价格
{include file=member.page.bottom.html}
</p>
</th>
</tr>
<!--{/if}-->
---上接
<tr class="line_bold line_bold_bottom">
<th colspan="12">
<div class="select_div">
<form method="post">
价格批量设置:
<input type="hidden" name="app" value="my_goods">
<input type="hidden" name="step" value="batch_price">
<select class="select1" name='sgcate_id'>
<option value="0">{$lang.sgcategory}</option>
{html_options options=$sgcategories selected=$smarty.get.sgcate_id}
</select>
<select class="select1" name="setprice">
<option value="0">选择获得的价格</option>
<option value="price0">市场价格等于</option>
<option value="price">本店价格等于</option>
<option value="price1">进货价格等于</option>
</select>
<select class="select1" name="nowprice">
<option value="0">选择基本价</option>
<option value="price0">市场价格</option>
<option value="price"> 本店价格</option>
<option value="price1">进货价格</option>
</select>
<select name="price_change">
<option value="0">运算</option>
<option value="inc_by">增加</option>
<option value="dec_by">减少</option>
<option value="bei_by">乘以</option>
</select>
<input name="price" type="text" class="text width2" />
<input type="submit" class="btn" value="批量改价" />
</form>
</div>
</th>
</tr>
---下接
</table>
</div>
<div class="wrap_bottom"></div>

3.修改my_goods.app.php其中 index函数
function index()
{
---上接
$db = &db();
/*TianYan 批量更改价格*/
if($_POST["step"]=="batch_price")
{
if(!empty($_POST["sgcate_id"]) and !empty($_POST["setprice"]) and !empty($_POST["nowprice"])and !empty($_POST["price_change"]) and floatval($_POST["price"]) > 0)
{
$cate_mod =& bm('gcategory', array('_store_id' => $this->_store_id));
$cate_ids = $cate_mod->get_descendant(intval($_POST['sgcate_id']));
//得到商品列表
$goods_list = $db->getall("SELECT DISTINCT goods_id FROM ".DB_PREFIX."category_goods WHERE`cate_id` ". db_create_in($cate_ids);
foreach($goods_list as $key => $goods)
{
$speclist = $db->getall("select spec_id,price0,price1,price from ".DB_PREFIX."goods_spec where goods_id=".$goods["goods_id"]);
foreach($speclist as $spec)
{
$upprice=0;
switch ($_POST['price_change'])
{
case 'inc_by':
$upprice = $spec[$_POST["nowprice"]]+floatval($_POST['price']) ;
break;
case 'dec_by':
$upprice = $spec[$_POST["nowprice"]]- floatval($_POST['price']) ;
case 'bei_by':
$upprice = $spec[$_POST["nowprice"]]*floatval($_POST['price']) ;
break;
}
if(intval($spec["price1"]) > $upprice){ $upprice = intval($spec["price1"]);}
$db->query("update ".DB_PREFIX."goods_spec set ".$_POST["setprice"]."=".$upprice." where spec_id=".$spec["spec_id"]);
}

}
$this->show_message('batch_price_ok','back_list', 'index.php?app=my_goods');
return;
}
else
{
$this->show_warning('batch_price_err','back_list', 'index.php?app=my_goods');
return;
}
}
---下接
/* 取得店铺商品分类 */
百城联盟成员可以免费获得该项功能的升级包,请联系联盟客服联系。



回答:
顶下‘·@@

沙发?摆渡婆婆

设置三个价健康之路格体系,市场价,本店价和进货价,进货价只有店主能看到