public function actionList() { $course = Yii::$app->request->get('c'); $difficulty_level = Yii::$app->request->get('is_easy'); // $sort = Yii::$app->request->get('sort'); $newCourseList = []; //获取最新的课程列表 $hotCourseList = []; //获取最热的课程列表 $showCategoryList = []; //该方向下的所有列表 $activeDirection = ''; //点击的方向 $activeCategoryList = []; //需要搜索的列表 $activeCategory = ''; //点击的分类名称 $activeDifficulty = ''; //点击的课程程度 if (!empty($course)) { //如果course在方向列表中,则获取分类列表;如果在分类列表里,则 if (in_array($course, Category::$direction)) { $activeDirection = $course; //将搜索的方向设为active $aliasList = Category::directionAliasList(); $directionId = $aliasList[$course]; $showCategoryList = Category::findModelsByDirection($directionId); //该方向下的所有列表 $activeCategoryList = $showCategoryList; //需要搜索的列表 } else { if (in_array($course, Category::aliasList())) { $directionId = Category::getDirectionByAlias($course)->direction; //该分类所在的方向ID $directionAliasFlipList = Category::directionAliasFlipList(); $activeDirection = $directionAliasFlipList[$directionId]; //获取active方向名称 $showCategoryList = Category::findModelsByDirection($directionId); //该方向下的所有列表 $activeCategoryList = Category::findModelByAlias($course); //只有一个对象的对象数组 $activeCategory = $course; //点击的分类名称 } else { $course = ''; } } //如果不为空则获取课程列表 if (!empty($activeCategoryList)) { foreach ($activeCategoryList as $category) { $newCourseList[] = Course::queryCourse($category->id, $difficulty_level, 'new'); $hotCourseList[] = Course::queryCourse($category->id, $difficulty_level, 'hot'); } } } //course为空;获取全部课程列表 if (empty($course)) { $showCategoryList = Category::findAllModels(); $newCourseList[] = Course::queryCourse('', $difficulty_level, 'new'); $hotCourseList[] = Course::queryCourse('', $difficulty_level, 'hot'); } if (!empty($difficulty_level)) { $activeDifficulty = $difficulty_level; } return $this->render('list', ['c' => $course, 'is_easy' => $difficulty_level, 'newCourseList' => array_filter($newCourseList), 'hotCourseList' => array_filter($hotCourseList), 'activeDirection' => $activeDirection, 'activeCategory' => $activeCategory, 'showCategoryList' => $showCategoryList, 'activeDifficulty' => $activeDifficulty]); }