Exemplo n.º 1
0
 public function ListAttr($f3)
 {
     // 权限检查
     $this->requirePrivilege('manage_goods_type_listtype');
     global $smarty;
     // 参数验证
     $validator = new Validator($f3->get('GET'));
     $meta_id = $validator->required()->digits()->min(1)->validate('typeId');
     if (!$this->validate($validator)) {
         goto out_fail;
     }
     $goodsTypeService = new GoodsTypeService();
     $goodsType = $goodsTypeService->loadGoodsTypeById($meta_id);
     if ($goodsType->isEmpty()) {
         $this->addFlashMessage('商品类型[' . $meta_id . ']非法');
         goto out_fail;
     }
     // 取得属性树形结构
     $goodsAttrTreeTable = $goodsTypeService->fetchGoodsTypeAttrTreeTable($meta_id);
     // 属性的显示
     foreach ($goodsAttrTreeTable as &$goodsAttrTreeItem) {
         if (GoodsTypeService::META_TYPE_GOODS_TYPE_ATTR_ITEM == $goodsAttrTreeItem['meta_type']) {
             $goodsAttrTreeItem['attr_type_desc'] = @GoodsTypeService::$attrItemTypeDesc[$goodsAttrTreeItem['meta_ename']];
             if (!empty($goodsAttrTreeItem['meta_data'])) {
                 $goodsAttrTreeItem['meta_data'] = str_replace(',', "\n", $goodsAttrTreeItem['meta_data']);
             }
         }
     }
     // 给模板赋值
     $smarty->assign('goodsType', $goodsType);
     $smarty->assign('goodsAttrTreeTable', $goodsAttrTreeTable);
     out_display:
     $smarty->display('goods_type_listattr.tpl');
     return;
     out_fail:
     RouteHelper::reRoute($this, '/Goods/Type/ListType');
 }