home.go 993 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package controllers
  2. import (
  3. "github.com/astaxie/beego"
  4. "github.com/lifei6671/godoc/models"
  5. "github.com/lifei6671/godoc/utils"
  6. "math"
  7. )
  8. type HomeController struct {
  9. BaseController
  10. }
  11. func (c *HomeController) Index() {
  12. c.Prepare()
  13. c.TplName = "home/index.tpl"
  14. //如果没有开启匿名访问,则跳转到登录页面
  15. if !c.EnableAnonymous && c.Member == nil {
  16. c.Redirect(beego.URLFor("AccountController.Login"),302)
  17. }
  18. pageIndex,_ := c.GetInt("page",1)
  19. pageSize := 18
  20. member_id := 0
  21. if c.Member != nil {
  22. member_id = c.Member.MemberId
  23. }
  24. books,totalCount,err := models.NewBook().FindForHomeToPager(pageIndex,pageSize,member_id)
  25. if err != nil {
  26. beego.Error(err)
  27. c.Abort("500")
  28. }
  29. if totalCount > 0 {
  30. html := utils.GetPagerHtml(c.Ctx.Request.RequestURI, pageIndex, pageSize, totalCount)
  31. c.Data["PageHtml"] = html
  32. }else {
  33. c.Data["PageHtml"] = ""
  34. }
  35. c.Data["TotalPages"] = int(math.Ceil(float64(totalCount) / float64(pageSize)))
  36. c.Data["Lists"] = books
  37. }