1. 功能描述
-
2. 开发
2.1 背景
公司电商页面坑位采用存储一个json的方式来详细记录坑位信息
每个坑位最后对应的json对象如下,都有一个position_sign,以及各项配置信息:
{"widget": "image","name": "链接图片","img_width": 750,"img_height": 80,"image": "","activeImage": "","position_sign": "pos1617762332396","position_if": 0}
2.2 开发思路
1. 方案1
-
2. 方案2
-
2.3 落地开发
1. 方案1
2. 方案2
<?phpclass EngineService{private function dfGeneratePageConfig($pageArr, $positionSign, $pageType, $goodsId, $goodsInfo, $isReplace){if (!is_array($pageArr)) {return $pageArr;}foreach ($pageArr as $key => $value) {if (is_array($value)) {$pageArr[$key] = $this->dfGeneratePageConfig($value, $positionSign, $pageType, $goodsId, $goodsInfo, $isReplace);}if ($key === 'position_sign' && $value === $positionSign) {$this->replace($pageArr, $positionSign, $pageType, $goodsId, $goodsInfo, $isReplace);}}return $pageArr;}private function replace(&$pageArr, $positionSign, $pageType, $goodsId, $goodsInfo, $isReplace){// do something}}
