/** * 查看有没样式记录,有则获取样式名称 */ public function getAttrs($productid, $layerid) { return ProductAttrModel::where('productid', $productid)->where('layerid', $layerid)->orderBy('genre', 'asc')->get(); }
/** * 获取一个属性组合 */ public function getOneAttrs($productid, $layerid) { return ProductAttrModel::where('productid', $productid)->where('layerid', $layerid)->get(); }
/** * 属性样式修改 */ public function updateAttr(Request $request, $productid, $attrid) { //样式名称 $attrModel = ProductAttrModel::find($attrid); if ($request->genre == 1 && !$request->name) { echo "<script>alert('样式名称必填!');history.go(-1);</script>"; exit; } elseif ($request->genre != 1) { $request->name = $attrModel->name; } //宽高 if (!$request->width || !$request->height) { echo "<script>alert('宽高必填!');history.go(-1);</script>"; exit; } $size = $request->width . ',' . $request->height; //内边距 if ($request->padType == 0) { $padding = ''; } elseif ($request->padType == 1) { $padding = $request->pad1; } elseif ($request->padType == 2) { $padding = $request->pad2 . ',' . $request->pad3; } elseif ($request->padType == 3) { $padding = $request->pad4 . ',' . $request->pad5 . ',' . $request->pad6 . ',' . $request->pad7; } //边框 if ($request->isborder == 0) { $border = '0,,1,1'; } else { if (!$request->borderText) { echo "<script>alert('边框宽度必填!');history.go(-1);</script>"; exit; } $border = '1,' . $request->borderText . ',' . $request->borderType . ',' . $request->borderColor; } //定位方式 if ($request->posType && !$request->left && !$request->top) { echo "<script>alert('宽高未填!');history.go(-1);</script>"; exit; } $pos = $request->posType . ',' . $request->left . ',' . $request->top; //透明度 if ($request->isopacity && $request->opacity == '') { echo "<script>alert('透明度必填!');history.go(-1);</script>"; exit; } $opacity = $request->isopacity . ',' . $request->opacity; //判断更新数据 $record['size'] = $attrModel->size == $size ? 1 : 0; $record['padding'] = $attrModel->padding == $padding ? 1 : 0; $record['border'] = $attrModel->border == $border ? 1 : 0; $record['pos'] = $attrModel->pos == $pos ? 1 : 0; $record['float'] = $attrModel->float; $record['opacity'] = $attrModel->opacity == $opacity ? 1 : 0; $data = ['name' => $request->name, 'size' => $size, 'padding' => $padding, 'border' => $border, 'pos' => $pos, 'float' => $request->float, 'opacity' => $opacity, 'updated_at' => time(), 'record' => serialize($record)]; ProductAttrModel::where('id', $attrid)->update($data); return redirect(DOMAIN . 'online/u/' . $productid . '/frame/' . $request->layerid . '/' . $request->con_id . '/' . $request->attrGenre); }
/** * 获得属性样式名称 */ public function getAttrName() { // $layer = ProductLayerModel::where('layerid',$this->layerid)->first(); $attrModel = ProductAttrModel::where('layerid', $this->layerid)->first(); return $attrModel ? $attrModel->style_name : ''; }
/** * 获取该产品的属性 */ public function getAttrs() { $attrModels = ProductAttrModel::where('productid', $this->id)->get(); return count($attrModels) ? $attrModels : []; }
/** * 获取子级属性 */ public function getSub($genre) { return ProductAttrModel::where('parent', $this->id)->where('genre', $genre)->first(); }
/** * 获得动画的属性名 */ public function getAttrStyleName() { return ProductAttrModel::where('layerid', $this->id)->first()->style_name; }
/** * 收集属性数据 */ public function getAttrData($pid, $layerid, $genre, $newpid, $layerNewId, $styleName) { $attrModel = ProductAttrModel::where('productid', $pid)->where('layerid', $layerid)->where('genre', $genre)->first(); $record = ['padding' => 0, 'size' => 0, 'pos' => 0, 'float' => 0, 'opacity' => 0, 'border' => 0]; $data = ['name' => $attrModel->name, 'style_name' => $styleName, 'productid' => $newpid, 'layerid' => $layerNewId, 'genre' => $genre, 'padding' => $attrModel->padding, 'size' => $attrModel->size, 'pos' => $attrModel->pos, 'float' => $attrModel->float, 'opacity' => $attrModel->opacity, 'border' => $attrModel->border, 'created_at' => time(), 'record' => serialize($record)]; ProductAttrModel::create($data); }