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:
@@ -9,31 +9,75 @@
|
||||
|
||||
{% set page = query.page %}
|
||||
{% set tag = query.tag %}
|
||||
{% set category = query.category %}
|
||||
|
||||
{% set entries_limit = entries.fetch('blog').entries_limit %}
|
||||
|
||||
{% if tag %}
|
||||
{# @todo get count from cache! #}
|
||||
{% set entries_length = entries.fetchAll('blog', {'where': {'key': 'tag', 'expr': 'contains', 'value': tag}})|length %}
|
||||
{% set entries_length = entries.fetchAll('blog', {
|
||||
'where': {
|
||||
'key': 'tag',
|
||||
'expr': 'contains',
|
||||
'value': tag
|
||||
},
|
||||
'and_where': {
|
||||
'key': 'visibility',
|
||||
'expr': 'nin',
|
||||
'value': ['draft', 'hidden']
|
||||
}
|
||||
})|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}) %}
|
||||
{% set entries = entries.fetchAll('blog', {
|
||||
'where': {
|
||||
'key': 'tag',
|
||||
'expr': 'contains',
|
||||
'value': tag
|
||||
},
|
||||
'and_where': {
|
||||
'key': 'visibility',
|
||||
'expr': 'nin',
|
||||
'value': ['draft', 'hidden']
|
||||
},
|
||||
'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_length = entries.fetchAll('blog', {
|
||||
'where': {
|
||||
'key': 'visibility',
|
||||
'expr': 'nin',
|
||||
'value': ['draft', 'hidden']
|
||||
}
|
||||
})|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}) %}
|
||||
{% set entries = entries.fetchAll('blog', {
|
||||
'where': {
|
||||
'key': 'visibility',
|
||||
'expr': 'nin',
|
||||
'value': ['draft', 'hidden']
|
||||
},
|
||||
'order_by': {
|
||||
'field': 'published_at',
|
||||
'direction': 'desc'
|
||||
},
|
||||
'set_max_result': entries_limit,
|
||||
'set_first_result': entries_offset}) %}
|
||||
{% endif %}
|
||||
|
||||
{# /pagination #}
|
||||
|
Reference in New Issue
Block a user