[ [ //插件名称 'name' => 'topic', //展示分类(根据平台端设置,shop:店铺营销,member:会员营销, tool:应用工具) 'show_type' => 'shop', //展示主题 'title' => '专题活动', //展示介绍 'description' => '打造主题营销专区', //展示图标 'icon' => 'addon/topic/icon.png', //跳转链接 'url' => 'topic://shop/topic/lists', 'summary' => $this->summary($params) ] ] ]; return $data; } /** * 营销活动概况 * @param $params * @return array */ private function summary($params) { if (empty($params)) { return []; } //获取活动数量 if (isset($params[ 'count' ])) { $count = model("promotion_topic")->getCount([ [ 'site_id', '=', $params[ 'site_id' ] ] ]); return [ 'count' => $count ]; } //获取活动概况,需要获取开始时间与结束时间 if (isset($params[ 'summary' ])) { $list = model("promotion_topic")->getList([ [ '', 'exp', Db::raw('not ( (`start_time` >= ' . $params[ 'end_time' ] . ') or (`end_time` <= ' . $params[ 'start_time' ] . '))') ], [ 'site_id', '=', $params[ 'site_id' ] ] ], 'topic_name as promotion_name,topic_id as promotion_id,start_time,end_time'); return !empty($list) ? [ 'time_limit' => [ 'count' => count($list), 'detail' => $list, 'color' => '#7BE295' ] ] : []; } } }