Code bài viết của chuyên mục cho wap4
#TOP
Code này tui viết lại từ code mặc định của wap4, dùng hàm filter().Dán vào main_file_list hoặc bất kỳ đâu mà ae muốn:
{% from '_func' import ago, paging %}
{% set category_id = 'id chuyên mục mà ae muốn lấy bài viết' %}
{% set total = get_data_count('blog', {'category': category_id}) %}
{% if total < 1 %}
<div class="rmenu">Chưa có bài viết nào được đăng tải</div>
{% else %}
{% set per = '10' %}
{% set page_max = total//per %}
{% if total//per != total/per %}{% set page_max = total//per+1 %}{% endif %}
{% set p = get_get('page')|default(1) %}
{% if p matches '/[a-zA-z]|%/' or p < 1 %}{% set p = 1 %}{% endif %}
{% if p > page_max %}{% set p = page_max %}{% endif %}
{% set st=p*per-per %}
{% for blog in get_data('blog')|filter(post => post['data'].category == id) %}
{% if blog.id %}
{% set data = blog.data %}
{% set category = get_data_by_id('category', data.category).data %}
<div class="list1">
[{{category.name}}]
<a href="{{'/view/'~data.slug~'-'~blog.id~'.html'}}">{{data.title}}</a>
({{ago(blog.time)}})
</div>
{% endif %}
{% endfor %}
{{paging('?page=',p,page_max)|replace({'/=':'/','/?':'?'})|raw}}
{% endif %}
Ngoài ra, để đếm bài viết trong chuyên mục đó, tui còn mò được cách dùng như thế này:
Số bài viết: {{get_data('blog')|filter(k,v => v.category == category_id)|length}}
không hoạt động
@baobei
{{get_data('blog')|filter(post => post['data'].category == id)}}