protected function _after_update($data, $option) { /**************** 处理商品的扩展分类 ********************/ $eci = I('post.ext_cat_id'); $gcModel = M('GoodsCat'); // 先清除商品原扩展分类数据 $gcModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete(); // 如果有新的数据就再添加一遍 if ($eci) { foreach ($eci as $v) { // 如果分类为空就跳过处理下一个 if (empty($v)) { continue; } $gcModel->add(array('goods_id' => $option['where']['id'], 'cat_id' => $v)); } } /************* 处理会员价格 ************************/ $mpModel = M('MemberPrice'); $mpModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete(); $mp = I('post.mp'); if ($mp) { foreach ($mp as $k => $v) { if (empty($v)) { continue; } $mpModel->add(array('goods_id' => $option['where']['id'], 'level_id' => $k, 'price' => $v)); } } /************************* 处理商品图片的代码 ***********************/ // 判断有没有图片 if (hasImage('pics')) { $gpModel = M('GoodsPics'); // 批量上传之后的图片数组,改造成每个图片一个一维数组的形式 $pics = array(); foreach ($_FILES['pics']['name'] as $k => $v) { if ($_FILES['pics']['size'][$k] == 0) { continue; } $pics[] = array('name' => $v, 'type' => $_FILES['pics']['type'][$k], 'tmp_name' => $_FILES['pics']['tmp_name'][$k], 'error' => $_FILES['pics']['error'][$k], 'size' => $_FILES['pics']['size'][$k]); } // 在后面调用uploadOne方法时会使用$_FILES数组上传图片,所以我们要把我们处理好的数组赎给$_FILES这样上传时使用的就是我们处理好的数组 $_FILES = $pics; // 循环每张图片一个一个的上传 foreach ($pics as $k => $v) { $ret = uploadOne($k, 'Goods', array(array(150, 150))); if ($ret['ok'] == 1) { $gpModel->add(array('goods_id' => $option['where']['id'], 'pic' => $ret['images'][0], 'sm_pic' => $ret['images'][1])); } } } /****************************** 修改商品属性的代码 ***************************/ // 处理新属性 $ga = I('post.ga'); $ap = I('post.attr_price'); $gaModel = M('GoodsAttr'); if ($ga) { foreach ($ga as $k => $v) { foreach ($v as $k1 => $v1) { if (empty($v1)) { continue; } $price = isset($ap[$k][$k1]) ? $ap[$k][$k1] : ''; $gaModel->add(array('goods_id' => $option['where']['id'], 'attr_id' => $k, 'attr_value' => $v1, 'attr_price' => $price)); } } } // 处理原属性 $oldga = I('post.old_ga'); $oldap = I('post.old_attr_price'); // 循环所更新一遍所有的旧属性 foreach ($oldga as $k => $v) { foreach ($v as $k1 => $v1) { // 要修改的字段 $oldField = array('attr_value' => $v1); // 如果有对应的价格就把价格也修改 if (isset($oldap[$k])) { $oldField['attr_price'] = $oldap[$k][$k1]; } $gaModel->where(array('id' => array('eq', $k1)))->save($oldField); } } }
protected function _after_update($data, $option) { /*************** 处理商品的扩展分类 *******************/ $exi = I('post.ext_cat_id'); $gcModel = M('GoodsCat'); //先清除商品原扩展的分类的数据 $gcModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete(); //如果有新的数据有在添加一遍 if ($exi) { foreach ($exi as $k => $v) { if (empty($v)) { continue; } $gcModel->add(array('goods_id' => $option['where']['id'], 'cat_id' => $v)); } } /********** 处理会员价格 ***********/ $mpModel = M('MemberPrice'); $mpModel->where(array('goods_id' => array('eq', $option['where']['id'])))->delete(); $mp = I('post.mp'); if ($mp) { foreach ($mp as $k => $v) { if (empty($v)) { continue; } $mpModel->add(array('goods_id' => $option['where']['id'], 'level_id' => $k, 'price' => $v)); } } /*************** 处理商品的图片 ******************/ //判断有没有图片 if (hasImage('pics')) { $gpModel = M('GoodsPics'); //批量上传 $pics = array(); foreach ($_FILES['pics']['name'] as $k => $v) { if ($_FILES['pics']['size'] == 0) { continue; } $pics[] = array('name' => $v, 'type' => $_FILES['pics']['type'][$k], 'tmp_name' => $_FILES['pics']['tmp_name'][$k], 'error' => $_FILES['pics']['error'][$k], 'size' => $_FILES['pics']['size'][$k]); } // 在后面的调用uploadOne 方法会使用$_FILES 数组上传图片 我们要把我们处理好的数组给$_FILES 这样子上传时候就是使用我们处理好的数组 $_FILES = $pics; foreach ($pics as $k => $v) { $ret = uploadOne($k, 'Goods', array(array(150, 150))); if ($ret['ok'] == 1) { $gpModel->add(array('goods_id' => $data['id'], 'pic' => $ret['images'][0], 'sm_pic' => $ret['images'][1])); } } } /************** 处理商品属性 *************/ //处理新属性 $ga = I('post.ga'); $ap = I('post.attr_price'); $gaModel = M('GoodsAttr'); foreach ($ga as $k => $v) { foreach ($v as $k1 => $v1) { if (empty($v1)) { continue; } $price = isset($ap[$k][$k1]) ? $ap[$k][$k1] : ''; $gaModel->add(array('goods_id' => $option['where']['id'], 'attr_id' => $k, 'attr_value' => $v1, 'attr_price' => $price)); } } // 处理原属性 $oldga = I('post.old_ga'); $oldap = I('post.old_attr_price'); //循环遍历更新一边所有的旧属性 foreach ($oldga as $k => $v) { foreach ($v as $k1 => $v1) { # 要修改的字段 $oldField = array('attr_value' => $v1); # 如果有对应的价格就把价格也修改 if (isset($oldap[$k])) { $oldField['attr_price'] = $oldap[$k][$k1]; } $gaModel->where(array('id' => array('eq', $k1)))->save($oldField); } } }
protected function _after_insert($data, $options) { $goods_id = $data['goods_id']; $attr = I('post.attr'); foreach ($attr as $key => $value) { if (is_array($value)) { //是数组,代表添加的是单选属性,比如同一个商品好几个颜色 foreach ($value as $v) { //实例化it_goods_attr对象(首字母大写,下划线去掉后面单词首字母也要大写) M('GoodsAttr')->add(array('goods_id' => $goods_id, 'attr_value' => $v, 'attr_id' => $key)); } } else { //不是数组 M('GoodsAttr')->add(array('goods_id' => $goods_id, 'attr_value' => $value, 'attr_id' => $key)); } } //商品添加相册要在商品添加完成后紧跟进行 if (hasImage('goods_photo')) { $result = uploadMoreImages('goods_photo', 'Photo', array(array(150, 150))); //相册入库 if ($result['ok'] == 1) { //上传成功 foreach ($result['img'] as $value) { M('GoodsPhoto')->add(array('goods_id' => $goods_id, 'photo_ori' => $value[0], 'photo_thumb' => $value[1])); } } else { //上传失败 $this->error = $result['error']; return false; } } }
if ($album || $artist) { require_once dirname(__FILE__) . '/amazon/amazonsearch.php'; $res = amazon_search($term, $associate_id, $dev_key); // if no result on $album and $artist, then just search for $album (if not sound track, as we just searched for $album) if (!$res && $genre != "Soundtrack") { $res = amazon_search($album, $associate_id, $dev_key); } // if still no results, then just search for $artist, don't care if soundtrack, we need to find anything! if (!$res) { $res = amazon_search($artist, $associate_id, $dev_key); } // if we found something if ($res) { $amazon_image = $res->ImageUrlSmall; $amazon_url = $res->url; $image_size = hasImage($amazon_image); if (!$image_size) { $amazon_image = NULL; } } else { $amazon_image = NULL; $amazon_url = NULL; } } $amazon_url = str_replace("amazon.com", "amazon.ca", $amazon_url); $output['track'] = $song; $output['artist'] = $artist; $output['album'] = $album; $output['genre'] = $genre; $output['filetime'] = $filetime; $output['tracktime'] = $tracktime;