Home > CMS Tutorial > DEDECMS > body text

How to paginate style in dedecms

angryTom
Release: 2019-07-27 16:35:53
Original
2197 people have browsed it

How to paginate style in dedecms

If you want to know more about dedecms, you can click: DEDECMS tutorial

1. Introduce the following code into the head of the HTML template header file:

<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
        <script>
        function multi(pagenum,tagid)
        {
            var taget_obj = document.getElementById(tagid);
            var taget_obj_page = document.getElementById("page_"+tagid);
            myajax = new DedeAjax(taget_obj,false,false,&#39;&#39;,&#39;&#39;,&#39;&#39;);
            myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+&#39;&tagid=&#39;+tagid);
            myajax = new DedeAjax(taget_obj_page,false,false,&#39;&#39;,&#39;&#39;,&#39;&#39;);
            myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+&#39;&tagid=&#39;+tagid);
            DedeXHTTP = null;
        }
        </script>
Copy after login

The above is a reference to the AJAX function to realize the page turning function.

2. Make the tag code for the template page:

{dede:arclist typeid=&#39;14&#39; titlelen=&#39;200&#39; row=&#39;100&#39; tagid=&#39;index&#39; pagesize=&#39;5&#39;}
        <li>
            <p><a href="[field:arcurl/]" target="_blank">[field:title/]...</a></p>
            <p>[field:pubdate function="MyDate(&#39;Y-m-d&#39;,@me)"/]</p>
        </li>
       {/dede:arclist}

   {dede:arcpagelist tagid=&#39;index&#39;/}
Copy after login

The tagid="index" in the above two sets of tags must correspond to

Refresh the page and the number 123 will appear

3. Make page turning style

Find the file dede\include\taglib\arcpagelist.lib .php

Find the method function multipage and modify the page turning style here

The following is a broken code that can be copied directly

function multipage($allItemTotal, $currPageNum, $pageSize, $tagid=&#39;&#39;)
{
    if ($allItemTotal == 0) return "";

    //计算总页数
    $pagesNum = ceil($allItemTotal/$pageSize);

    //第一页显示
    $firstPage = ($currPageNum <= 1) ? "<span>[首页]</span>" : "<a href=&#39;javascript:multi(1,\"{$tagid}\")&#39; title=&#39;第1页&#39;><span>[首页]</span></a>";

    //最后一页显示
    $lastPage = ($currPageNum >= $pagesNum)? "<span>[尾页]</span>". $currPageNum : "<a href=&#39;javascript:multi(". $pagesNum . ",\"{$tagid}\")&#39; title=&#39;第". $pagesNum ."页&#39;><span>[尾页]</span></a>";

    //上一页显示
    $prePage  = ($currPageNum <= 1) ? "<span>[上一页]</span>" : "<a href=&#39;javascript:multi(". ($currPageNum-1) . ",\"{$tagid}\")&#39;  accesskey=&#39;p&#39;  title=&#39;上一页&#39;><span>[上一页]</span></a>";

    //下一页显示
    $nextPage = ($currPageNum >= $pagesNum) ? "<span>[下一页]</span>" : "<a href=&#39;javascript:multi(". ($currPageNum+1) .",\"{$tagid}\")&#39; title=&#39;下一页&#39;><span>[下一页]</span></a>";

    //共X页 共X条记录
    $pagesNum2 = "  共 ".$pagesNum." 页  共 ".$allItemTotal." 条记录";

    //按页显示
    $listNums = "";
    $listNums.= $firstPage;
    $listNums.= $prePage;
    for ($i=($currPageNum-4); $i<($currPageNum+9); $i++) {
        if ($i < 1 || $i > $pagesNum) continue;
        if ($i == $currPageNum)
        {
            $listNums.= "<a href=&#39;javascript:void(0)&#39; class=&#39;thislink&#39;><span>".$i."</span></a>";
        }else 
        {
            $listNums.= " <a href=&#39;javascript:multi(". $i .",\"{$tagid}\")&#39; title=&#39;". $i ."&#39;><span>". $i ."</span></a> ";
        }
    }
    $listNums.= $nextPage;
    $listNums.= $lastPage;
    $listNums.= $pagesNum2;

    $returnUrl = $listNums;
    return $returnUrl;
}
Copy after login

The effect after refreshing: [Homepage][ Previous page]12345[Next page][Last page]

3. Make CSS pagination style

In the middle of the template header file head Add the following code:

<style>
* {
    padding: 0;
    margin: 0;
}
/*
  * 外面盒子样式---自己定义
  */

.page_div {
    font-size: 12px;
    font-family: "microsoft yahei";
    color: #666666;
    margin-right: 10px;
    padding-left: 42px;
    box-sizing: border-box;
}
/*
 * 页数按钮样式
 */

.page_div span {
    min-width: 30px;
    height: 28px;
    border: 1px solid #dce0e0!important;
    text-align: center;
    margin: 0 4px;
    cursor: pointer;
    line-height: 28px;
    color: #666666;
    font-size: 13px;
    display: inline-block;
}
</style>
Copy after login

4. Call the CSS style:

<div class="page_div" align="center">
    {dede:arcpagelist tagid=&#39;index&#39;/}
</div>
Copy after login

The above is the detailed content of How to paginate style in dedecms. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template