Code bài viết của chuyên mục cho wap4

By Asuna, 102 View
#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 %}
Phương Cute, Thanh Tam, baobei đã thích bài viết này

3 comments:

  1. avatar Asuna says:

    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}}

  2. avatar baobei says:

    không hoạt động 3

  3. avatar Asuna says:

    @baobei

    {{get_data('blog')|filter(post => post['data'].category == id)}}