// 按Tag展示文章列表 func (a Article) Tags(res web.Resource) { a.Layout = "index.html" a.LayoutData = make(map[string]interface{}) a.LayoutData["BlogTitle"] = web.Conf.Get("Blog", "name") data := make(map[string]interface{}) tags := model.NewClassifyModelList("tags") //defer category.Close() id := res.URLValue("id") if tags == nil { a.Render(res, nil) return } else { data["tags"] = tags } if id == "" { // 这里如果ID为空则默认显示第一个分类的信息 id = tags[0].Id.Hex() } // 获得对应ID的文章列表 con := make(map[string]interface{}) con["tags"] = id data["list"] = model.NewArticleModelList(con, 10) a.Render(res, data) }
func (a Article) Add(res web.Resource) { if res.R.Method == "GET" { a.Layout = "admin.html" data := make(map[string]interface{}) data["category"] = model.NewClassifyModelList("category") data["tags"] = model.NewClassifyModelList("tags") a.Render(res, data) } else if res.R.Method == "POST" { // 定义操作结果 var result bool // 解析表单数据 res.R.ParseForm() // 创建文章对象 article := model.ArticleModel{ Title: tools.SafeValue(res.R.Form["title"][0]), DateTime: time.Now(), Summary: tools.SafeValue(res.R.Form["summary"][0]), Content: tools.SafeValue(res.R.Form["content"][0]), Zan: 0, Like: 0, } // 将创建的文章进一步处理 result = article.SetCategoryId(res.R.Form["category"][0]) for _, id := range res.R.Form["tags"] { result = article.SetTagsId(id) } result = article.Insert() // 插入数据库 if result { a.ShowMessage(res, "创建文章成功,点击这里查看文章", "/Article/Show/id/"+article.Id.Hex(), 5) } else { a.ShowMessage(res, "创建文章失败,点击这里重新创建", "/Article/Add", 5) } } }