|
@@ -34,42 +34,56 @@ class CmsContentTemplateSetRepository {
|
|
}
|
|
}
|
|
|
|
|
|
$group_array['content'][0]['area_type'] ="banner";
|
|
$group_array['content'][0]['area_type'] ="banner";
|
|
- $banner_rule = $this->cmsContentTemplateSet->select('rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>0])->first();
|
|
|
|
- $group_array['content'][0]['rule'] = $banner_rule->rule;
|
|
|
|
|
|
+ $banner_rule = $this->cmsContentTemplateSet->select('id','rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>0])->get();
|
|
|
|
+ $new_rule = [];
|
|
|
|
+ foreach ($banner_rule->toArray() as $k=>$v){
|
|
|
|
+ $new_rule[] = $v;
|
|
|
|
+ }
|
|
|
|
+ $group_array['content'][0]['rule'] = $new_rule;
|
|
|
|
|
|
$group_array['content'][1]['area_type'] ="special";
|
|
$group_array['content'][1]['area_type'] ="special";
|
|
- $subject_rule = $this->cmsContentTemplateSet->select('rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>1])->first();
|
|
|
|
- $group_array['content'][1]['rule'] = $subject_rule->rule;
|
|
|
|
|
|
+ $subject_rule = $this->cmsContentTemplateSet->select('id','rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>1])->get();
|
|
|
|
|
|
- $group_array['content'][2]['area_type'] ="floor";
|
|
|
|
- $floor_rule = $this->cmsContentTemplateSet->select('rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>2])->first();
|
|
|
|
|
|
+ $new_rule = [];
|
|
|
|
+ foreach ($subject_rule->toArray() as $k=>$v){
|
|
|
|
+ $new_rule[] = $v;
|
|
|
|
+ }
|
|
|
|
+ $group_array['content'][1]['rule'] = $new_rule;
|
|
|
|
|
|
- $decode_floor = json_decode($floor_rule['rule'],true);
|
|
|
|
- foreach ($decode_floor as &$v){
|
|
|
|
- $show_type = $this->cmsSubject->select('show_type')->where('id',$v['link_url'])->first();
|
|
|
|
- $product = $this->cmsSubjectProduct->where('subject_id',$v['link_url'])->orderBy('sort','asc')->get();
|
|
|
|
|
|
+ $group_array['content'][2]['area_type'] ="floor";
|
|
|
|
+ $floor_rule = $this->cmsContentTemplateSet->select('id','rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>2])->get();
|
|
|
|
+ $new_rule = [];
|
|
|
|
+ foreach ($floor_rule->toArray() as $k=>$v){
|
|
|
|
+ $new_rule[] = $v;
|
|
|
|
+ }
|
|
|
|
+ foreach ($new_rule as $k=>$v){
|
|
|
|
+ $rules = json_decode($v['rule'],true);
|
|
|
|
+ $show_type = $this->cmsSubject->select('show_type')->where('id', $rules['link_url'])->first();
|
|
|
|
+ $product = $this->cmsSubjectProduct->where('subject_id', $rules['link_url'])->orderBy('sort', 'asc')->get();
|
|
$pro_array = $product->toArray();
|
|
$pro_array = $product->toArray();
|
|
- $res_id = implode(",",array_column($pro_array,'id'));
|
|
|
|
- $v['product_id'] = $res_id;
|
|
|
|
- $v['subject_id'] = $v['link_url'];
|
|
|
|
- $v['show_type'] = $show_type->show_type;
|
|
|
|
|
|
+ $res_id = implode(",", array_column($pro_array, 'id'));
|
|
|
|
+ $new_rule[$k]['product_id'] = $res_id;
|
|
|
|
+ $new_rule[$k]['subject_id'] = $rules['link_url'];
|
|
|
|
+ $new_rule[$k]['show_type'] = $show_type->show_type ?? '';
|
|
unset($v['url']);
|
|
unset($v['url']);
|
|
unset($v['show_num']);
|
|
unset($v['show_num']);
|
|
- unset($v['link_url']);
|
|
|
|
|
|
+ unset($rules['link_url']);
|
|
unset($v['link_type']);
|
|
unset($v['link_type']);
|
|
}
|
|
}
|
|
- $group_array['content'][2]['rule'] = json_encode($decode_floor,JSON_UNESCAPED_UNICODE);
|
|
|
|
|
|
+ $group_array['content'][2]['rule'] = $new_rule;
|
|
|
|
+
|
|
if ($request['type'] == 1){
|
|
if ($request['type'] == 1){
|
|
$group_array['content'][3]['area_type'] ="category";
|
|
$group_array['content'][3]['area_type'] ="category";
|
|
- $category_rule = $this->cmsContentTemplateSet->select('rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>3])->first();
|
|
|
|
- $group_array['content'][3]['rule'] = $category_rule->rule;
|
|
|
|
|
|
+ $category_rule = $this->cmsContentTemplateSet->select('rule')->where(['tpl_id'=>$request['tpl_id'],'area_type'=>3])->get();
|
|
|
|
+ $new_rule = [];
|
|
|
|
+ foreach ($category_rule->toArray() as $k=>$v){
|
|
|
|
+ $new_rule[] = $v;
|
|
|
|
+ }
|
|
|
|
+ $group_array['content'][3]['rule'] = $new_rule;
|
|
}
|
|
}
|
|
|
|
|
|
- foreach ($group_array['content'] as $key=>$value){
|
|
|
|
- $rule = json_decode($value['rule'],true);
|
|
|
|
- $group_array['content'][$key]['rule'] = $rule;
|
|
|
|
- }
|
|
|
|
- $json = json_encode($group_array,JSON_UNESCAPED_UNICODE);
|
|
|
|
- return $json;
|
|
|
|
|
|
+ $group_json = json_encode($group_array,JSON_UNESCAPED_UNICODE);
|
|
|
|
+
|
|
|
|
+ return $group_json;
|
|
}
|
|
}
|
|
}
|
|
}
|