func (this *UserRouter) Home() { this.TplName = "user/home.html" var user models.User if this.getUser(&user) { return } limit := 5 var posts []*models.Post var comments []*models.Comment user.RecentPosts().Limit(limit).RelatedSel().All(&posts) user.RecentComments().Limit(limit).RelatedSel().All(&comments) var ftopics []*models.FollowTopic var topics []*models.Topic nums, _ := models.FollowTopics().Filter("User", &user.Id).Limit(8).OrderBy("-Created").RelatedSel("Topic").All(&ftopics, "Topic") if nums > 0 { topics = make([]*models.Topic, 0, nums) for _, ft := range ftopics { topics = append(topics, ft.Topic) } } this.Data["TheUserTopics"] = topics this.Data["TheUserTopicsMore"] = nums >= 8 this.Data["TheUserPosts"] = posts this.Data["TheUserComments"] = comments }
func (this *UserRouter) Home() { this.Data["IsUserHomePage"] = true this.TplNames = "user/home.html" var user models.User if this.getUser(&user) { return } //recent posts and comments limit := 5 var posts []*models.Post var comments []*models.Comment user.RecentPosts().Limit(limit).RelatedSel().All(&posts) user.RecentComments().Limit(limit).RelatedSel().All(&comments) this.Data["TheUserPosts"] = posts this.Data["TheUserComments"] = comments //follow topics var ftopics []*models.FollowTopic var topics []*models.Topic ftNums, _ := models.FollowTopics().Filter("User", &user.Id).Limit(8).OrderBy("-Created").RelatedSel("Topic").All(&ftopics, "Topic") if ftNums > 0 { topics = make([]*models.Topic, 0, ftNums) for _, ft := range ftopics { topics = append(topics, ft.Topic) } } this.Data["TheUserFollowTopics"] = topics this.Data["TheUserFollowTopicsMore"] = ftNums >= 8 //favorite posts var favPostIds orm.ParamsList var favPosts []models.Post favNums, _ := user.FavoritePosts().Limit(8).OrderBy("-Created").ValuesFlat(&favPostIds, "Post") if favNums > 0 { qs := models.Posts().Filter("Id__in", favPostIds) qs = qs.OrderBy("-Created").RelatedSel() models.ListObjects(qs, &favPosts) } this.Data["TheUserFavoritePosts"] = favPosts this.Data["TheUserFavoritePostsMore"] = favNums >= 8 }
func (this *UserRouter) Comments() { this.TplNames = "user/comments.html" var user models.User if this.getUser(&user) { return } limit := 20 qs := user.RecentComments() nums, _ := qs.Count() pager := this.SetPaginator(limit, nums) var comments []*models.Comment qs.Limit(limit, pager.Offset()).RelatedSel().All(&comments) this.Data["TheUserComments"] = comments }