smarty分页

系统 1463 0
      <?php
require '../libs/Smarty.class.php';

$smarty = new Smarty;
$smarty->force_compile = true;
$smarty->debugging = true;
$smarty->caching = true;
$smarty->cache_lifetime = 120;

$count = 100;
$pagesize = 10;
$totalpage = 10;
$url = 'index.php';
$left = 3;
$right = 3;

if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
}

//赋值
$smarty->assign('count', $count);    //记录总数
$smarty->assign('pagesize', $pagesize);    //每页记录数
$smarty->assign('totalpage', $totalpage);    //总页数
$smarty->assign('page', $page);    //当前页数
$smarty->assign('url', $url);    //链接地址

$smarty->assign('left', $left);    //数字链接左侧长度
$smarty->assign('right', $right);    //数字链接右侧长度

//显示
$smarty->display('main.tpl');
?>
    

 模板文件1:main.tpl

      {*分页内容展示*}
{*传递变量*}
{include 'page.tpl' count=$count pagesize=$pagesize totalpage=$totalpage page=$page url=$url left=$left right=$right}
    

 模板文件2: page.tpl

      {if $totalpage>1} 
   <a href="{$url}">首页</a> 
   {if $page>1}
   <a href="{$url}?page={$page-1}">上一页</a> 
   {/if}

    {*数字链接*}
    {if $totalpage<$left+$right+1}    {*总页数小于数字链接长度时*}
       //定义循环起始值
        {assign var="start" value=1}
        {assign var="end" value=$totalpage}
    {else}
        {assign var="start" value=$page-$left}
        {assign var="end" value=$page+$right} 
        {if $page <= $left}         {*当前页左侧长度不足指定值时 *}
            {assign var="start" value=1}
            {assign var="end" value=$left+$right+1}
        {/if}
        {if $page >= $totalpage- $right}    {*当前页右侧长度不足指定值时*}
            {assign var="end" value=$totalpage}
            {assign var="start" value=$totalpage-$left-$right}
        {/if}
    {/if}

    {*循环输出数字链接 *}
    {for $foo=$start to $end}
        {if $page == $foo} 
	<a href="{$url}?page={$foo}">{$foo}</a> 
	{else}
	<a href="{$url}?page={$foo}">{$foo}</a> 
	{/if}
    {/for}

    {if $page<$totalpage} 
    <a href="{$url}?page={$page+1}">下一页</a> 
    {/if}
    <a href="{$url}?page={$totalpage}">尾页</a> 
{/if}
    

 效果图:

 
 

smarty分页


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论