`
zhangjianbin
  • 浏览: 18670 次
  • 性别: Icon_minigender_1
  • 来自: 太原
最近访客 更多访客>>
社区版块
存档分类
最新评论

Dede 5.7 内容分页页数不溢出

    博客分类:
  • Dede
阅读更多
/**
     *  获得动态页面分页列表
     *
     * @access    public
     * @param     int   $totalPage  总页数
     * @param     int   $nowPage  当前页数
     * @param     int   $aid  文档id
     * @return    string
     */
    function GetPagebreakDM($totalPage, $nowPage, $aid)
    {
        global $cfg_rewrite;
        if($totalPage==1)
        {
            return "";
        }
        $PageList = "<li><a>共".$totalPage."页: </a></li>";
        $nPage = $nowPage-1;
        $lPage = $nowPage+1;
        if($nowPage==1)
        {
            $PageList.="<li><a href='#'>上一页</a></li>";
        }
        else
        {
            if($nPage==1)
            {
                $PageList.="<li><a href='view.php?aid=$aid'>上一页</a></li>";
                if($cfg_rewrite == 'Y')
                {
                    $PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);
                }
            }
            else
            {
                $PageList.="<li><a href='view.php?aid=$aid&pageno=$nPage'>上一页</a></li>";
                if($cfg_rewrite == 'Y')
                {
                    $PageList = str_replace(".php?aid=", "-", $PageList);
                    $PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
                }
            }
        }
		
		/*
		 * 避免因为分页太长页导致的样式错乱
		 * author:zjb  time:2012-02-09 start
         */
		//新的显示分页的规则
		$dot = '...';
		$unit = 10;
		$offset = floor($unit * 0.5);

		if($unit > $totalPage) {
			$from = 1;
			$to = $totalPage;
		} else {
			$from = $nowPage - $offset;
			$to = $from + $unit - 1;
			if($from < 1) {
				$to = $nowPage + 1 - $from;
				$from = 1;
				if($to - $from < $unit) {
					$to = $unit;
				}
			} elseif($to > $totalPage) {
				$from = $totalPage - $unit + 1;
				$to = $totalPage;
			}
		}
		
		//显示第一页
		if($nowPage - $offset > 1 && $totalPage > $unit) {
			if($nowPage!=1)
			{
				$PageList .= "<li><a href='view.php?aid=$aid'>1{$dot}</a></li>";
				if($cfg_rewrite == 'Y')
				{
					$PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);
				}
			}
			else
			{
				$PageList .= "<li class=\"thisclass\"><a>1{$dot}</a></li>";
			}
		}
		
		//显示从from到to的,页数
		for($j=$from;$j<=$to;$j++) {
			$n = $j;
			if($nowPage!=$j)
			{
				$PageList .= "<li><a href='view.php?aid=$aid&pageno=$j'>".$n."</a></li>";
				if($cfg_rewrite == 'Y')
				{
					$PageList = str_replace(".php?aid=", "-", $PageList);
					$PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
				}
			}
			else
			{
				$PageList .= "<li class=\"thisclass\"><a href='#'>{$n}</a></li>";
			}
		}
		
		//显示最后一页
		if($to < $totalPage) {
			if($nowPage!=$totalPage)
			{
				$PageList .= "<li><a href='view.php?aid=$aid&pageno=$totalPage'>".$dot.$totalPage."</a></li>";
				if($cfg_rewrite == 'Y')
				{
					$PageList = str_replace(".php?aid=", "-", $PageList);
					$PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
				}
			}
			else
			{
				$PageList .= "<li class=\"thisclass\"><a href='#'>{$dot}{$totalPage}</a></li>";
			}	
		}
		/*
		 * author:zjb  time:2012-02-09 end
         */
		
		/*
		 * 原有系统中的公页规则
        for($i=1;$i<=$totalPage;$i++)
        {
            if($i==1)
            {
                if($nowPage!=1)
                {
                    $PageList.="<li><a href='view.php?aid=$aid'>1</a></li>";
                    if($cfg_rewrite == 'Y')
                    {
                        $PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);
                    }
                }
                else
                {
                    $PageList.="<li class=\"thisclass\"><a>1</a></li>";
                }
            }
            else
            {
                $n = $i;
                if($nowPage!=$i)
                {
                    $PageList.="<li><a href='view.php?aid=$aid&pageno=$i'>".$n."</a></li>";
                    if($cfg_rewrite == 'Y')
                    {
                        $PageList = str_replace(".php?aid=", "-", $PageList);
                        $PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
                    }
                }
                else
                {
                    $PageList.="<li class=\"thisclass\"><a href='#'>{$n}</a></li>";
                }
            }
        }
		*/
        if($lPage <= $totalPage)
        {
            $PageList.="<li><a href='view.php?aid=$aid&pageno=$lPage'>下一页</a></li>";
            if($cfg_rewrite == 'Y')
            {
                $PageList = str_replace(".php?aid=", "-", $PageList);
                $PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
            }
        }
        else
        {
            $PageList.= "<li><a href='#'>下一页</a></li>";
        }
        return $PageList;
    }

    /**
     *  获得静态页面分页列表
     *
     * @access    public
     * @param     int   $totalPage  总页数
     * @param     int   $nowPage  当前页数
     * @param     int   $aid  文档id
     * @return    string
     */
    function GetPagebreak($totalPage, $nowPage, $aid)
    {
        if($totalPage==1)
        {
            return "";
        }
        $PageList = "<li><a>共".$totalPage."页: </a></li>";
        $nPage = $nowPage-1;
        $lPage = $nowPage+1;
        if($nowPage==1)
        {
            $PageList.="<li><a href='#'>上一页</a></li>";
        }
        else
        {
            if($nPage==1)
            {
                $PageList.="<li><a href='".$this->NameFirst.".".$this->ShortName."'>上一页</a></li>";
            }
            else
            {
                $PageList.="<li><a href='".$this->NameFirst."_".$nPage.".".$this->ShortName."'>上一页</a></li>";
            }
        }
		
		/*
		 * 避免因为分页太长页导致的样式错乱
		 * author:zjb  time:2012-02-09 start
         */
		//新的显示分页的规则
		$dot = '...';
		$unit = 10;
		$offset = floor($unit * 0.5);

		if($unit > $totalPage) {
			$from = 1;
			$to = $totalPage;
		} else {
			$from = $nowPage - $offset;
			$to = $from + $unit - 1;
			if($from < 1) {
				$to = $nowPage + 1 - $from;
				$from = 1;
				if($to - $from < $unit) {
					$to = $unit;
				}
			} elseif($to > $totalPage) {
				$from = $totalPage - $unit + 1;
				$to = $totalPage;
			}
		}
		
		//显示第一页
		if($nowPage - $offset > 1 && $totalPage > $unit) {
			if($nowPage!=1)
			{
				$PageList .= "<li><a href='".$this->NameFirst.".".$this->ShortName."'>1{$dot}</a></li>";
			}
			else
			{
				$PageList .= "<li class=\"thisclass\"><a href='#'>1{$dot}</a></li>";
			}
		}
		
		//显示从from到to的,页数
		for($j=$from;$j<=$to;$j++) {
			$n = $j;
			if($nowPage!=$j)
			{
				$PageList.="<li><a href='".$this->NameFirst."_".$j.".".$this->ShortName."'>".$n."</a></li>";
			}
			else
			{
				$PageList.="<li class=\"thisclass\"><a href='#'>{$n}</a></li>";
			}
		}
		
		//显示最后一页
		if($to < $totalPage) {
			if($nowPage!=$totalPage)
			{
				$PageList.="<li><a href='".$this->NameFirst."_".$totalPage.".".$this->ShortName."'>".$dot.$totalPage."</a></li>";
			}
			else
			{
				$PageList.="<li class=\"thisclass\"><a href='#'>{$dot}{$totalPage}</a></li>";
			}
		}
		/*
		 * author:zjb  time:2012-02-09 end
         */
		 
		/*原有分页规则
        for($i=1;$i<=$totalPage;$i++)
        {
            if($i==1)
            {
                if($nowPage!=1)
                {
                    $PageList.="<li><a href='".$this->NameFirst.".".$this->ShortName."'>1</a></li>";
                }
                else
                {
                    $PageList.="<li class=\"thisclass\"><a href='#'>1</a></li>";
                }
            }
            else
            {
                $n = $i;
                if($nowPage!=$i)
                {
                    $PageList.="<li><a href='".$this->NameFirst."_".$i.".".$this->ShortName."'>".$n."</a></li>";
                }
                else
                {
                    $PageList.="<li class=\"thisclass\"><a href='#'>{$n}</a></li>";
                }
            }
        }
		*/
        if($lPage <= $totalPage)
        {
            $PageList.="<li><a href='".$this->NameFirst."_".$lPage.".".$this->ShortName."'>下一页</a></li>";
        }
        else
        {
            $PageList.= "<li><a href='#'>下一页</a></li>";
        }
        return $PageList;
    }
 
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics