forked from golang/hotime
78 lines
1.6 KiB
Go
78 lines
1.6 KiB
Go
|
package app
|
||
|
|
||
|
import (
|
||
|
. "code.hoteas.com/golang/hotime"
|
||
|
. "code.hoteas.com/golang/hotime/common"
|
||
|
)
|
||
|
|
||
|
var CtgCtr = Ctr{
|
||
|
"info": func(that *Context) {
|
||
|
sn := that.Req.FormValue("sn")
|
||
|
ctg := that.Db.Get("ctg", "*", Map{"sn": sn})
|
||
|
parents := []Map{}
|
||
|
parentId := ctg.GetCeilInt64("parent_id")
|
||
|
ctg["tongji"] = that.Db.Select("ctg", "sn,name,img,parent_id", Map{"parent_id": parentId})
|
||
|
for true {
|
||
|
|
||
|
if parentId == 0 {
|
||
|
break
|
||
|
}
|
||
|
|
||
|
parent := that.Db.Get("ctg", "sn,name,img,parent_id", Map{"id": parentId})
|
||
|
if parent == nil {
|
||
|
break
|
||
|
}
|
||
|
|
||
|
parents = append(parents, parent)
|
||
|
parentId = parent.GetCeilInt64("parent_id")
|
||
|
|
||
|
}
|
||
|
|
||
|
if ctg.GetCeilInt64("article_id") != 0 {
|
||
|
ctg["article"] = that.Db.Get("article", "*", Map{"id": ctg.GetCeilInt64("article_id")})
|
||
|
}
|
||
|
|
||
|
ctg["parents"] = parents
|
||
|
that.Display(0, ctg)
|
||
|
},
|
||
|
"list": func(that *Context) {
|
||
|
sn := that.Req.FormValue("sn") //ctgsn
|
||
|
page := ObjToInt(that.Req.FormValue("page"))
|
||
|
pageSize := ObjToInt(that.Req.FormValue("pageSize"))
|
||
|
|
||
|
if page == 0 {
|
||
|
page = 1
|
||
|
}
|
||
|
if pageSize == 0 {
|
||
|
pageSize = 50
|
||
|
}
|
||
|
|
||
|
keywords := that.Req.FormValue("keywords")
|
||
|
|
||
|
//sort:=that.Req.FormValue("sort")
|
||
|
|
||
|
where := Map{"state": 0}
|
||
|
if sn != "" {
|
||
|
ctg := that.Db.Get("ctg", "id", Map{"sn": sn})
|
||
|
if ctg != nil {
|
||
|
where["parent_id"] = ctg.GetCeilInt("id")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if keywords != "" {
|
||
|
where["OR"] = Map{"name[~]": keywords, "url[~]": keywords, "sn[~]": keywords}
|
||
|
}
|
||
|
|
||
|
if len(where) > 1 {
|
||
|
where = Map{"AND": where}
|
||
|
}
|
||
|
|
||
|
where["ORDER"] = Slice{"sort DESC", "id DESC"}
|
||
|
|
||
|
article := that.Db.Page(page, pageSize).PageSelect("ctg", "name,sn,sort,url,img", where)
|
||
|
|
||
|
that.Display(0, article)
|
||
|
|
||
|
},
|
||
|
}
|