public function actionCreate()
{
Yii::import("ext.xupload.models.XUploadForm");
$model = new Item('create');
$upload = new XUploadForm();
$image = new ItemImg();
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
$action = 'item';
if (isset($_POST['Item'])) {
$model->attributes = $_POST['Item'];
// $model->sn = 'YC' . date('Ymd') . mt_rand(10000, 99999);
$model->store_id = $_SESSION['store']['store_id'];
if ($_POST['Item']['props']) {
// foreach ($_POST['Item']['props'] as $key => $value) {
// $p = ItemProp::model()->findByPk($key);
//
// if ($p->type == 'multiCheck') {
//// $values = implode($value, ',');
// $p_arr[] = $value;
// foreach ($value as $kk => $vv) {
// $v = PropValue::model()->findByPk($vv);
// $value_name[] = $v->value_name;
// }
// $value_names = implode($value_name, ',');
// $v_arr[] = $p->prop_name . ':' . $value_names;
// } elseif ($p->type == 'optional') {
// $v_o = $value ? explode(':', $value) : 0;
// $p_arr[] = $key . ':' .($v_o != 0 ? $v_o[1] : 0);
// $v = PropValue::model()->findByPk($value);
// $v_arr[] = $p->prop_name . ':' . $v->value_name;
// } elseif ($p->type == 'input') {
// //如果是文本框输入的话 不纳入搜索
// //也就不纳入到props里 只保存到prop_names里
// $p_arr[] = $key . ':' . $value;
// $v_arr[] = $p->prop_name . ':' . $value;
// }
// }
// $props = implode($p_arr, ';');
$model->props = CJSON::encode($_POST['Item']['props']);
// $props_name = implode($v_arr, ';');
// $model->props_name = $props_name;
}
if ($_POST['Item']['skus']) {
// foreach ($_POST['Item']['skus'] as $s_key => $s_value) {
// $skus[] = implode($s_value['props'], ';').';'.$s_value['quantity'].';'.$s_value['price'];
// }
$model->skus = CJSON::encode($_POST['Item']['skus']);
// $model->skus = implode($skus, ',');
}
$transaction = Yii::app()->db->beginTransaction();
// print_r($_POST);
// exit;
try {
if ($model->save()) {
$skuIds = array();
if ($_POST['Item']['skus']) {
foreach ($_POST['Item']['skus']['table'] as $s_key => $s_value) {
$sku = new Sku();
$sku->item_id = $model->item_id;
$sku->props = CJSON::encode($s_value['props']);
$sku->quantity = $s_value['quantity'];
$sku->price = $s_value['price'];
$sku->outer_id = $s_value['outer_id'];
$sku->status = $s_value ? 'normal' : 'deleted';
$sku->save();
if ($sku->sku_id > 0) {
$skuIds[] = $sku->sku_id;
}
}
}
$transaction->commit();
$skus_data = implode(",", $skuIds);
//储存为淘宝sku[]格式。
$sql = 'UPDATE {{item}} SET `skus_data`="' . $skus_data . '" WHERE item_id=' . $model->item_id;
Yii::app()->db->createCommand($sql)->execute();
$this->redirect(array('view', 'id' => $model->item_id));
}
} catch (Exception $e) {
$transaction->rollback();
Yii::app()->handleException($e);
}
}
$this->render('create', array('model' => $model, 'image' => $image, 'upload' => $upload));
}