Ecshop自带有一个赠品模块,位于后台-》促销管理-》优惠活动。赠品需要在后台手动的一个一个添加,比较麻烦。所以想用一个比较快捷的方法。先分析一下该功能用到的数据表`ecs_favourable_activity`的各个字段,可以发现赠品应该放在gift字段中。在看一下后台的favourable.php文件,找到如下代码:
/* 取得赠品 */
$gift = array();
if (intval($_POST['act_type']) == FAT_GOODS && isset($_POST['gift_id']))
{
foreach ($_POST['gift_id'] as $key => $id)
{
$gift[] = array('id' => $id, 'name' => $_POST['gift_name'][$key], 'price' => $_POST['gift_price'][$key]);
}
}
......
'gift' => serialize($gift)
看上述代码不难发现赠品需要三个属性,分别是产品ID、产品名称、和赠品价格,并且放入数组,然后对这个赠品数组进行序列化处理后直接入数据库。前台要显示这些赠品的时候只需要反序列化gift字段的值。