Ejemplo n.º 1
0
 /**
  * 查看有没样式记录,有则获取样式名称
  */
 public function getAttrs($productid, $layerid)
 {
     return ProductAttrModel::where('productid', $productid)->where('layerid', $layerid)->orderBy('genre', 'asc')->get();
 }
Ejemplo n.º 2
0
 /**
  * 获取一个属性组合
  */
 public function getOneAttrs($productid, $layerid)
 {
     return ProductAttrModel::where('productid', $productid)->where('layerid', $layerid)->get();
 }
Ejemplo n.º 3
0
 /**
  * 属性样式修改
  */
 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);
 }
Ejemplo n.º 4
0
 /**
  * 获得属性样式名称
  */
 public function getAttrName()
 {
     //        $layer = ProductLayerModel::where('layerid',$this->layerid)->first();
     $attrModel = ProductAttrModel::where('layerid', $this->layerid)->first();
     return $attrModel ? $attrModel->style_name : '';
 }
Ejemplo n.º 5
0
 /**
  * 获取该产品的属性
  */
 public function getAttrs()
 {
     $attrModels = ProductAttrModel::where('productid', $this->id)->get();
     return count($attrModels) ? $attrModels : [];
 }
Ejemplo n.º 6
0
 /**
  * 获取子级属性
  */
 public function getSub($genre)
 {
     return ProductAttrModel::where('parent', $this->id)->where('genre', $genre)->first();
 }
Ejemplo n.º 7
0
 /**
  * 获得动画的属性名
  */
 public function getAttrStyleName()
 {
     return ProductAttrModel::where('layerid', $this->id)->first()->style_name;
 }
Ejemplo n.º 8
0
 /**
  * 收集属性数据
  */
 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);
 }