1
0
mirror of https://github.com/flextype/flextype.git synced 2025-08-23 05:16:03 +02:00

feat(core): add ability to work with tag for blog #186

This commit is contained in:
Awilum
2019-08-30 13:51:34 +03:00
parent 7cb9aef4c8
commit 729c60409e

View File

@@ -11,19 +11,28 @@
{% set tag = query.tag %}
{% set category = query.category %}
{% set entries_length = entries.fetchAll('blog')|length %}
{% set entries_limit = entries.fetch('blog').entries_limit %}
{% set entries_pages = (entries_length/entries_limit)|round %}
{% if page < 1 %}{% set page = 1 %}{% elseif page > entries_pages %}{% set page = entries_pages %}{% endif %}
{% set entries_offset = (page-1)*entries_limit %}
{% if entries_offset < 0 %}{% set entries_offset = 0 %}{% endif %}
{% if tag %}
{% set entries = entries.fetchAll('blog', {'where': {'key': 'tag', 'expr': 'contains', 'value': query.tag}, 'order_by': {'field': 'published_at', 'direction': 'desc'}, 'set_max_result': entries_limit, 'set_first_result': entries_offset}) %}
{% elseif category %}
{% set entries = entries.fetchAll('blog', {'where': {'key': 'category', 'expr': 'contains', 'value': query.category}, 'order_by': {'field': 'published_at', 'direction': 'desc'}, 'set_max_result': entries_limit, 'set_first_result': entries_offset}) %}
{# @todo get count from cache! #}
{% set entries_length = entries.fetchAll('blog', {'where': {'key': 'tag', 'expr': 'contains', 'value': tag}})|length %}
{% set entries_pages = (entries_length/entries_limit)|round %}
{% if page < 1 %}{% set page = 1 %}{% elseif page > entries_pages %}{% set page = entries_pages %}{% endif %}
{% set entries_offset = (page-1)*entries_limit %}
{% if entries_offset < 0 %}{% set entries_offset = 0 %}{% endif %}
{% set entries = entries.fetchAll('blog', {'where': {'key': 'tag', 'expr': 'contains', 'value': tag}, 'order_by': {'field': 'published_at', 'direction': 'desc'}, 'set_max_result': entries_limit, 'set_first_result': entries_offset}) %}
{% else %}
{# @todo get count from cache! #}
{% set entries_length = entries.fetchAll('blog')|length %}
{% set entries_pages = (entries_length/entries_limit)|round %}
{% if page < 1 %}{% set page = 1 %}{% elseif page > entries_pages %}{% set page = entries_pages %}{% endif %}
{% set entries_offset = (page-1)*entries_limit %}
{% if entries_offset < 0 %}{% set entries_offset = 0 %}{% endif %}
{% set entries = entries.fetchAll('blog', {'order_by': {'field': 'published_at', 'direction': 'desc'}, 'set_max_result': entries_limit, 'set_first_result': entries_offset}) %}
{% endif %}
@@ -39,9 +48,9 @@
{# pagination navigation #}
<div class="text-center">
{% if (page - 1) > 0 %}<a href="?page={{ page - 1 }}">&larr;</a>{% endif %}
{% if (page - 1) > 0 %}<a href="?page={{ page - 1 }}{% if tag %}&tag={{ tag }}{% endif %}">&larr;</a>{% endif %}
{{ page }} / {{ entries_pages }}
{% if (page) < entries_pages %}<a href="?page={{ page + 1 }} ">&rarr;</a>{% endif %}
{% if (page) < entries_pages %}<a href="?page={{ page + 1 }}{% if tag %}&tag={{ tag }}{% endif %}">&rarr;</a>{% endif %}
</div>
{# /pagination navigation #}