扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
新建一个thinkphp项目tp,入口文件如下:
在云南等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站建设 网站设计制作定制网站开发,公司网站建设,企业网站建设,品牌网站设计,网络营销推广,成都外贸网站建设公司,云南网站建设费用合理。
2
在数据库think下新建表qq_game,结构如下:
3
新建一个控制器AdminAction.class.php,位置如图所示:
4
在此控制器下新建函数beauty_page,用于美化分页;
未设置自定义分页时,函数如图:
模板页:tp/App/Tpl/Admin/beauty_page.html , 内容如图:
分页结果如下:
thinkphp中通过分页类Page提供的方法setConfig,来修改分页的设置:
比如:在代码 $pg = new Page($count, $per_page); 后插入下面的分页设置代码:
此时,分页显示结果如下(其中的上一页、下一页被改变):
Page类提供的setConfig方法,还可以设置theme 作为分页主题描述信息。
设置该属性可以改变分页的各个单元的显示位置,默认值是:
"%totalRow% %header% %nowPage%/%totalPage% 页 %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end%"
可以通过改变该值的样式改变分页的样式。
比如:在列表页添加样式:如下:
结果显示如下:
也可以给记录总数添加样式,如图,给当前记录数,添加样式:
在模板页添加样式,如图:
结果显示:
总结:可根据自己的爱好,自行添加样式,其中.pages a , .pages .current 是自带的,最好不要修改名称,可修改样式;如果不满意,可参考第11步,自行修改。
可以啊,CSS样式可以改变THINKPHP 分页显示样式;这个在你模板赋值的时后做的!
我们可以对输出的分页样式进行定制,分页类 Page 提供了一个 setConfig 方法来修改默认的一些设置。例如:
$page-setConfig('header', ' 个会员 ' );
setConfig 方法支持的属性包括:
header :头部描述信息,默认值 “条记录”
prev :上一页描述信息,默认值是“上一页”
next :下一页描述信息,默认值是“下一页”
first :第一页描述信息,默认值是“第一页”
last :最后一页描述信息,默认值是“最后一页”
theme :分页主题描述信息,包括了上面所有元素的组合 ,设置该属性可以改变分页的各个单元的显示位置,默认值是
“ %totalRow% %header% %nowPage%/%totalPage% 页 %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end% ”
通过 setConfig 设置以上属性可以完美的定制出你的分页显示风格。
DEDE的页面都分动态和静态两种方式显示,显然标签的解析函数也会有两个,分别对应静态和动态页面。首先找到include文件夹内的arc.archives.class.php文件,\include\arc.archives.class.php
如果是动态的,ctrl+F查找function GetPagebreakDM($totalPage, $nowPage, $aid)如果是静态的,ctrl+F查找function GetPagebreak($totalPage, $nowPage, $aid)
以静态的为例:
/**
* 获得静态页面分页列表
*
* @access public
* @param int $totalPage 总页数
* @param int $nowPage 当前页数
* @param int $aid 文档id
* @return string
*/
function GetPagebreak($totalPage, $nowPage, $aid)
{
if($totalPage==1)
{
return "";
}
$PageList = "lia共".$totalPage."页: /a/li";
$nPage = $nowPage-1;
$lPage = $nowPage+1;
if($nowPage==1)
{
$PageList.="lia href='#'上一页/a/li";
}
else
{
if($nPage==1)
{
$PageList.="lia href='".$this-NameFirst.".".$this-ShortName."'上一页/a/li";
}
用CSS是不能分页的,分页是程序控制的。
比如说:有100条数据要在页面展示,每次展现10条,一共10页。
程序会在第一页取出1--10条数据给静态页面展示。
到第二页的时候在去11--20条数据给静态页面展示。
当然你要给程序相对应的参数,他才能从数据库里面取出来。
美工只做一个展现页面给程序员,分页就是在静态页面上某个位置写上“上一页”、“下一页”、“第一页”、“最后一页”“共多少页”,或者是数字的1、2、3、4、5、6那种,剩下的程序员就会搞定一切的。
CSS只能做装饰,不能分页。
首先在列表模版写分页样式的时候把这段代码复制进去:
div class="dede_pages"
ul class="pagelist"
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}
/ul
/div
然后在把css样式加入到你自己的css文件里面
.dede_pages{ height:30px; background:#eeeeee; margin:15px 015px 12px; width:690px; float:left;text-align:center; display:inline;
}
.dede_pages ul{
list-style-type: none;text-align: center;
}
.dede_pages ul li{
display: inline;
}
.dede_pages ul li a{
background:#fff; padding:3px 5px; line-height:30px; margin:0 2px; font-family:Arial;
}
.dede_pages ul li a:hover{
color:#690;
text-decoration:none;
padding:2px 4px 2px;
}
.dede_pages ul li.thisclass,
.dede_pages ul li.thisclass a,.pagebox ul li.thisclass a:hover{
background-color:#F8F8F8;
padding:2px 4px 2px;
font-weight:bold;
}
.dede_pages .pageinfo{
line-height:21px;
padding:12px 10px 12px 16px;
color:#999;
}
.dede_pages .pageinfo strong{
color:#555;
font-weight:normal;
margin:0px 2px;
}
这个不是前台语言来实现的主要是要访问数据库,是后台功能,一般后台语言都有比如asp php jsp 等等js只是前台,所以很难实现(除非你js很高级)
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流