/** * 好产品详细页 * @author song * @param int $rel_id 活动产品id * * @return * */ public function actionDetail() { $rel_id = Yii::$app->request->get('rel_id'); $rel_id = intval($rel_id); if ($rel_id > 0) { //查询活动产品详细 $mActivityProduct = new ActivityProduct(); $actproduct = $mActivityProduct->getDetailBypk($rel_id); if (!$actproduct && $actproduct['status'] != 3) { Yii::$app->util->msg('审核未通过,请联系管理员!'); exit; } //查询活动产品属性 $mapattrval = new ActivityProductAttrVal(); $attrval = $mapattrval->getRealAttrVals($rel_id, ActivityBase::GOOD_PRODUCT); //投票信息 $city = isset($attrval['division']['val']) ? $attrval['division']['val'] : ''; $poll_type_id = PollType::GOODPRODUCT_TYPE; $mpoll = new poll(); $pollone = $mpoll->getPollByCity($city, $poll_type_id); //投票项信息 $moption = new polloption(); $optione = $moption->getOptionByowner($pollone['poll_id'], $rel_id); //var_dump($optione); //exit; //增加页面访问量 $ActivityProductStat_model = new ActivityProductStat(); $ActivityProductStat_model->incr($rel_id, 'page_views'); //产品类型 $IProductType = new IProductType(); $Ptype = $IProductType->product_type_list(); $Ptype = ArrayHelper::map($Ptype, 'id', 'name'); $Ptype[6] = ""; //页面当name为『其他』时,不然显示 // print_r($Ptype);exit; // echo '<pre>'; // print_r($actproduct); // print_r($attrval); // exit; //数据过滤 if (isset($attrval['pokedex']['val']) && is_array($attrval['pokedex']['val'])) { $tmp = []; foreach ($attrval['pokedex']['val'] as $v) { if (!empty($v['title']) && !empty($v['desc']) && !empty($v['url'])) { $tmp[] = $v; } } $attrval['pokedex']['val'] = $tmp; } $this->layout = false; return $this->render('detail', ['attrval' => $attrval, 'product' => $actproduct, 'optione' => $optione, 'type' => $Ptype, 'goodproduct_city' => ActivityBase::GOODPRODUCT_CITY]); } }
public function actionIndex($page = 1) { $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $session->remove('backurl'); $session->remove('form'); $form = Yii::$app->request->post('product'); //查询活动 $Activity = new ActivityBase(); $res_activity = $Activity->getByFeature(); foreach ($res_activity as $key => $val) { $key = $val['id']; $res_activity[$key] = $val; } //查询类别 $ProductType = new IProductType(); $p_type = $ProductType->product_type_list(); // print_r($type); $model = new IProductBase(); // 计算产品“模糊”数量 $productCount = $model->getCount(); if ($productCount) { $productCount = $this->calVagueCount($productCount); } // $type_id = Yii::$app->request->get('type_id') ? Yii::$app->request->get('type_id') : 0; $type_id = Yii::$app->request->get('type_id', 0); //参数过滤 $type_id = intval($type_id); if (Yii::$app->request->get('order_by')) { // $order_by = Yii::$app->request->get('type_id') ? Yii::$app->request->get('type_id') : 1; $order_by = Yii::$app->request->get('order_by', 2); //参数过滤 $order_by = is_numeric($order_by) ? $order_by : 2; } else { $order_by = 2; } if ($_GET) { // $time_status = Yii::$app->request->get('time_status') ? Yii::$app->request->get('time_status') : 0; $time_status = Yii::$app->request->get('time_status', 0); //参数过滤 $time_status = intval($time_status); if (intval($time_status) > 3) { $time_status = 0; } else { $time_status = Yii::$app->request->get('time_status', 0); //参数过滤 $time_status = intval($time_status); } } else { $time_status = 0; } //筛选条件 $options = ['type' => $type_id, 'page' => $page, 'time_status' => intval($time_status), 'order_by' => $order_by]; $ar = $model->search($options, false); // $re = $ar->asArray()->all(); // echo count($re); // echo "<br/>"; // echo $ar-> count(); // echo "<br/>"; $pages = new Pagination(['totalCount' => $ar->count(), 'pageSize' => IProductBase::PAGE_SIZE]); // print_r($pages);exit; $form = Yii::$app->request->get(); //参数过滤 $form = array_map('intval', $form); //拼凑一对多的产品关系 $res = $ar->asArray()->all(); //查询产品ids $ids = array_keys($res); //产品活动和图片数据 $ex = $model->extrData($ids); // print_r($ex); // print_r($ids); // print_r($res);exit; // echo "zhanglu"; // print_r($res_activity);exit; // die; $dist_model = new District(); foreach ($res as $key => $val) { //拼凑活动,图片数据 $res[$key]['aproduct'] = $ex[$key]['aproduct']; $res[$key]['image'] = $ex[$key]['image']; foreach ($ex[$key]['aproduct'] as $keya => $vaa) { if (!empty($res_activity[$vaa['acti_id']])) { // print_r($vaa); // print_r($res_activity[$vaa['acti_id']]);exit; //当活动为1.1 或 活动状态不为 3时 去掉改活动数据 if ($vaa['acti_id'] == ActivityBase::FANS_FESTIVAL || $vaa['status'] != ActivityProduct::STATUS_VERIFY_THROUGH) { unset($res[$key]['aproduct'][$keya]); } else { $res[$key]['aproduct'][$keya]['feature'] = $res_activity[$vaa['acti_id']]['feature']; $res[$key]['aproduct'][$keya]['subject'] = $res_activity[$vaa['acti_id']]['subject']; $res[$key]['aproduct'][$keya]['summary'] = $res_activity[$vaa['acti_id']]['summary']; $res[$key]['aproduct'][$keya]['config'] = $res_activity[$vaa['acti_id']]['config']; $res[$key]['aproduct'][$keya]['mark'] = $res_activity[$vaa['acti_id']]['mark']; $res[$key]['aproduct'][$keya]['activity_start_time'] = $res_activity[$vaa['acti_id']]['start_time']; $res[$key]['aproduct'][$keya]['activity_end_time'] = $res_activity[$vaa['acti_id']]['end_time']; } // $start = $res[$key]['aproduct'][$keya]['start_time']; // $end = $res[$key]['aproduct'][$keya]['end_time']; // $now = time(); // if ($start > $now) { // $step = "即将开始"; // } if ($end < $now ) { // $step = "已结束"; // } else { // $step ="预定中"; // } // $res[$key]['aproduct'][$keya]['step'] = $step; // $res[$key]['aproduct'][$keya]['status'] = $res_activity[$vaa['acti_id']]['status']; //$res[$key]['aproduct'][$keya] = $res_activity[$vaa['acti_id']]; } } if ($val['user']['city'] == 0) { $res[$key]['user']['city'] = '北京市'; } else { $dist = $dist_model->getByCity($val['user']['city']); $adrs = $dist['province'] . ',' . $dist['name']; $res[$key]['user']['city'] = $adrs; } } // echo '<pre>'; // print_r($res);die; // print_r($res_activity);exit; //获取推荐产品数据 // $res=[]; if (empty($res)) { $data = $this->getRecommendProduct($page, $res_activity); if ($data) { $products = isset($data['products']) ? $data['products'] : ''; $recommendPages = isset($data['recommendPages']) ? $data['recommendPages'] : ''; } } // echo "<pre>"; // print_r($res);die; // print_r($data);die; return $this->render('index', ['model' => $res, 'p_type' => $p_type, 'pages' => $pages, 'recommendPages' => isset($recommendPages) ? $recommendPages : '', 'product_count' => $productCount, 'products' => isset($products) ? $products : '', 'options' => $options]); }