Quên mật khẩu
 Đăng ký
Xem: 85|Trả lời: 0

Custom - Phân trang danh sách bài viết

[Lấy địa chỉ]

36

Chủ đề

7

Bài viết

172

Điểm

Administrator

Điểm
172
Đăng lúc 2024-9-6 19:30:31 | Xem tất |Chế độ đọc
- Thêm code sau vào file '_functions'


  1. {% macro paging(trang,p,max,b) %}
  2. {% spaceless %}
  3.   {% if max > 1 %}
  4.     <center><div class="pagination">
  5.       {% set a=' <a class="pagenav" href="/'~trang~'' %}
  6.       {% if p>max %}{% set p=max %}a{% endif %}
  7.       {% if p>1 %}
  8.               {{a|raw}}{{p-1}}{{b}}">«</a>
  9.       {% endif %}
  10.       {% if p>3 %}
  11.               {{a|raw}}1{{b}}">1</a>
  12.       {% endif %}
  13.       {% if p>4 %}
  14.                <span>...</span>
  15.       {% endif %}
  16.       {% if p>2 %}
  17.               {{a|raw}}{{p-2}}{{b}}">{{p-2}}</a>
  18.       {% endif %}
  19.       {% if p>1 %}
  20.               {{a|raw}}{{p-1}}{{b}}">{{p-1}}</a>
  21.       {% endif %}
  22.       <span class="currentpage"><b>{{p}}</b></span>
  23.       {% if p<max-1 %}
  24.               {{a|raw}}{{p+1}}{{b}}">{{p+1}}</a>
  25.       {% endif %}
  26.       {% if p<max-2 %}
  27.               {{a|raw}}{{p+2}}{{b}}">{{p+2}}</a>
  28.       {% endif %}
  29.       {% if p<max-3 %}
  30.               <span>...</span>
  31.       {% endif %}
  32.       {% if p<max %}
  33.               {{a|raw}}{{max}}{{b}}" class="next">{{max}}</a>
  34.       {% endif %}
  35.       {% if p<max %}
  36.               {{a|raw}}{{p+1}}{{b}}">»</a>
  37.       {% endif %}
  38.     </div></center>
  39.   {% endif %}
  40. {% endspaceless %}
  41. {% endmacro %}
Sao chép mã


CSS
  1. .pagination{text-align:center}.currentpage{background-color:#4E342E;padding:3px 11px;margin:2px;border-radius:50px;color:#fff!important;box-shadow:0 0 7px rgba(0,0,0,0.2),0 0 0 1px rgba(188,188,188,0.1)}.pagenav,a.pagenav{background-color:#00B7FF;color:#fff!important;text-decoration:none!important;padding:3px 11px;margin:2px;border-radius:50px;box-shadow:0 0 7px rgba(0,0,0,0.2),0 0 0 1px rgba(188,188,188,0.1);animation:namedcolors 3s infinite alternate}.pagevav:hover,a.pagenav:hover{background-color:#54a3c6;color:#fff!important}
Sao chép mã


- Cách sử dụng:
  1. {% from '_functions' import paging %}

  2. {% set total = count(query_select_table(table_name)) %}
  3. {% set per = '10' %}
  4. {% set page_max = total//per %}
  5. {% if total//per != total/per %}{% set page_max = total//per+1 %}{% endif %}
  6. {% set p = GET['page']|default(1) %}
  7. {% if p matches '/[a-zA-z]|%/' or p < 1 %}{% set p = 1 %}{% endif %}
  8. {% if p > page_max %}{% set p = page_max %}{% endif %}
  9. {% set st=p*per-per %}

  10. {% if total_blog == 0 %}
  11.   <p class="highlight">Chưa có bài viết nào!</p>
  12. {% else %}
  13.   {% set list = query_select_table(table_name,'*','ORDER BY id DESC LIMIT '~st~','~per) %}
  14.   {% for data in list %}
  15.     {{data.column}}
  16.   {% endfor %}
  17. {% endif %}
  18. <p>{{paging('?page=',p,page_max)|replace({'/=':'/','/?':'?'})|raw}}</p>
Sao chép mã
Bạn phải đăng nhập mới được đăng bài Đăng nhập | Đăng ký

Quy tắc điểm

Lưu trữ|Danh sách ban|Diễn đàn Sắc màu

GMT+7, 2024-11-21 15:51 , Processed in 0.051333 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

Trả lời nhanh Lên trên Trở lại danh sách