Example #1
0
// 按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)
}
Example #2
0
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)
		}
	}
}