Exemplo n.º 1
0
 public function AttrGroupEdit($f3)
 {
     // 权限检查
     $this->requirePrivilege('manage_goods_type_listtype');
     global $smarty;
     // 参数验证
     $validator = new Validator($f3->get('GET'));
     $meta_id = $validator->digits()->min(1)->validate('meta_id');
     if (!$meta_id) {
         $meta_id = 0;
     }
     $goodsTypeService = new GoodsTypeService();
     $goodsAttrGroup = $goodsTypeService->loadGoodsTypeAttrGroupById($meta_id);
     if (!$f3->get('POST')) {
         // 没有 post ,只是普通的显示
         goto out_display;
     }
     unset($validator);
     $validator = new Validator($f3->get('POST'));
     if (0 === $meta_id) {
         // 新建的组
         $goodsAttrGroup->parent_meta_id = $validator->required()->validate('typeId');
     }
     $goodsAttrGroup->meta_name = $validator->required()->validate('meta_name');
     $goodsAttrGroup->meta_desc = $validator->required()->validate('meta_desc');
     $goodsAttrGroup->meta_sort_order = $validator->digits()->validate('meta_sort_order');
     if (!$this->validate($validator)) {
         goto out_display;
     }
     $goodsAttrGroup->save();
     if (0 === $meta_id) {
         $this->addFlashMessage('新建商品属性组成功');
     } else {
         $this->addFlashMessage('更新商品属性组成功');
     }
     // 记录管理员日志
     AdminLog::logAdminOperate('goods.type.attrgroup.edit', '商品属性组', $goodsAttrGroup->meta_name);
     out_display:
     // 新建的,reRoute 到编辑页面
     if (!$meta_id) {
         RouteHelper::reRoute($this, RouteHelper::makeUrl('/Goods/Type/AttrGroupEdit', array('meta_id' => $goodsAttrGroup->meta_id), true));
     }
     //给 smarty 模板赋值
     $smarty->assign('typeId', $goodsAttrGroup->parent_meta_id);
     $smarty->assign($goodsAttrGroup->toArray());
     $smarty->display('goods_type_attrgroupedit.tpl');
     return;
     out_fail:
     // 失败从这里退出
     RouteHelper::reRoute($this, '/Goods/Type/ListType');
 }