package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gview"
"github.com/gogf/gf/v2/text/gstr"
"github.com/gogf/gf/v2/util/gpage"
)
// wrapContent wraps each of the page tag with html li and ul.
func wrapContent(page *gpage.Page) string {
content := page.GetContent(4)
content = gstr.ReplaceByMap(content, map[string]string{
"<span": "<li><span",
"/span>": "/span></li>",
"<a": "<li><a",
"/a>": "/a></li>",
})
return "<ul>" + content + "</ul>"
}
func main() {
s := g.Server()
s.BindHandler("/page/custom1/*page", func(r *ghttp.Request) {
page := r.GetPage(100, 10)
content := wrapContent(page)
buffer, _ := gview.ParseContent(`
<html>
<head>
<style>
a,span {padding:8px; font-size:16px;}
div{margin:5px 5px 20px 5px}
</style>
</head>
<body>
<div>{{.page}}</div>
</body>
</html>
`, g.Map{
"page": content,
})
r.Response.Write(buffer)
})
s.SetPort(10000)
s.Run()
}
4 Comments
phoenix
orm那边可以加分页处理的链式方法吗,把总记录数也返回
郭强
可以提个issue记录下
youxue2016
这个分页,是需要一个url,如果我的页面上面是文章列表下边是分页页码,那么我需要请求2次,一次是文章列表的请求,一次是分页的请求.对吗?
yidashi
page模板里边的上一页下一页首页最后一页和当前页码页都是用的span标签 class=page.SpanStyle,没法实现当前页码高亮,建议当前页码换成active之类的吧