getSpecList($where, 10); View::assign('spec_list', $spec_list); View::assign('show_page', $spec_model->page_info->render()); $this->setAdminCurItem('index'); return View::fetch(); } public function spec_add() { if (!(request()->isPost())) { $spec = [ 'gc_id' => 0, ]; View::assign('spec', $spec); $gc_list = model('goodsclass')->getGoodsclassListByParentId(0); View::assign('gc_list', $gc_list); return View::fetch('spec_form'); } else { $data = array( 'sp_name' => input('post.sp_name'), 'sp_sort' => input('post.sp_sort'), 'gc_id' => input('post.gc_id'), 'gc_name' => input('post.gc_name'), ); $spec_validate = ds_validate('spec'); if (!$spec_validate->scene('spec_add')->check($data)) { $this->error($spec_validate->getError()); } //验证数据 END $spec_model= model('spec'); $result=$spec_model->addSpec($data); if ($result) { dsLayerOpenSuccess(lang('ds_common_op_succ')); } else { $this->error(lang('error')); } } } public function spec_edit() { //注:pathinfo地址参数不能通过get方法获取,查看“获取PARAM变量” $sp_id = input('param.sp_id'); if (empty($sp_id)) { $this->error(lang('param_error')); } if (!request()->isPost()) { $spec_model= model('spec'); $spec=$spec_model->getSpecInfo($sp_id); View::assign('spec', $spec); $gc_list = model('goodsclass')->getGoodsclassListByParentId(0); View::assign('gc_list', $gc_list); $spec_model=model('spec'); $specvalue_list = $spec_model->getSpecvalueList(array('sp_id' => $sp_id)); View::assign('specvalue_list', $specvalue_list); return View::fetch('spec_form'); } else { $data = array( 'sp_name' => input('post.sp_name'), 'sp_sort' => input('post.sp_sort'), 'gc_id' => input('post.gc_id'), 'gc_name' => input('post.gc_name'), ); //验证数据 BEGIN $spec_validate = ds_validate('spec'); if (!$spec_validate->scene('spec_edit')->check($data)) { $this->error($spec_validate->getError()); } //验证数据 END $spec_model=model('spec'); //更新规格值表 $spec_value = input('post.spec_value/a'); $spec_array = array(); // 要删除的规格值id $del_array = array(); if (!empty(input('post.spec_del/a'))) { $del_array = input('post.spec_del/a'); } if (!empty($spec_value) && is_array($spec_value)) { foreach ($spec_value as $key => $val) { if (isset($val['form_submit']) && ((is_array($del_array) && !in_array(intval($key), $del_array)) || empty($del_array))) { // 规格值已修改 $update = array(); $update['spvalue_name'] = $val['name']; $update['spvalue_sort'] = intval($val['sort']); $spec_model->editSpecvalue($update,array('spvalue_id' => intval($key))); $spec_array[] = $val['name']; } else if (!isset($val['form_submit'])) { $insert = array(); $insert['spvalue_name'] = $val['name']; $insert['sp_id'] = $sp_id; $insert['gc_id'] = input('post.gc_id'); $insert['spvalue_sort'] = intval($val['sort']); $spec_model->addSpecvalue($insert); $spec_array[] = $val['name']; } } // 删除规格值 if ($del_array) { foreach ($del_array as $key => $value) { $spec_model->delSpecvalue(array('spvalue_id' => intval($value))); } } } $spec_model= model('spec'); $condition=array(); $condition[]=array('sp_id','=',$sp_id); $result=$spec_model->editSpec($data, $condition); if ($result>=0) { dsLayerOpenSuccess(lang('ds_common_op_succ')); } else { $this->error(lang('ds_common_op_fail')); } } } public function spec_drop() { //注:pathinfo地址参数不能通过get方法获取,查看“获取PARAM变量” $sp_id = input('param.sp_id'); if (empty($sp_id)) { $this->error(lang('param_error')); } $spec_model = model('spec'); $result=$spec_model->delSpec(array('sp_id' => $sp_id)); if ($result) { ds_json_encode(10000, lang('ds_common_del_succ')); } else { ds_json_encode(10001, lang('ds_common_del_fail')); } } /** * 获取卖家栏目列表,针对控制器下的栏目 */ protected function getAdminItemList() { $menu_array = array( array( 'name' => 'index', 'text' => '管理', 'url' => url('Spec/index') ), array( 'name' => 'spec_add', 'text' => '新增规格', 'url' => "javascript:dsLayerOpen('".url('Spec/spec_add')."','新增规格')" ), ); return $menu_array; } } ?>