Skip to content
Snippets Groups Projects
Commit 5b31c6a8 authored by Michael Kessler's avatar Michael Kessler
Browse files

[TASK] Change filter behavior

parent 1ec02711
No related branches found
No related tags found
1 merge request!40[TASK] Consider all filters when using the overview
......@@ -80,6 +80,7 @@
<settings.enableFilter>
<TCEforms>
<label>LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:plugin.overview.flexForm.enableFilter</label>
<description>LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:plugin.overview.flexForm.enableFilter.description</description>
<config>
<type>check</type>
<default>0</default>
......
......@@ -212,8 +212,12 @@ If none are selected, all categories will be available in the frontend.]]></sour
Wenn keine ausgewählt werden, sind alle Kategorien im Frontend verfügbar.]]></target>
</trans-unit>
<trans-unit id="plugin.overview.flexForm.enableFilter" approved="yes">
<source><![CDATA[Enable filtering by criteria that are not grouped in tabs]]></source>
<target><![CDATA[Filtern nach Kriterien, die nicht in Tabs sortiert sind, ermöglichen]]></target>
<source><![CDATA[Enable filtering by all criteria.]]></source>
<target><![CDATA[Ermögliche das Filtern mit allen Krierien.]]></target>
</trans-unit>
<trans-unit id="plugin.overview.flexForm.enableFilter.description" approved="yes">
<source><![CDATA[Filters will be rendered as select boxes and tabs will be hidden.]]></source>
<target><![CDATA[Filter werden als Dropdown-Box angezeigt und die Tabs ausgeblendet.]]></target>
</trans-unit>
<trans-unit id="plugin.overview.flexForm.groupBy" approved="yes">
<source><![CDATA[Group news pages in tabs by]]></source>
......
......@@ -161,7 +161,10 @@
If none are selected, all categories will be available in the frontend.]]></source>
</trans-unit>
<trans-unit id="plugin.overview.flexForm.enableFilter">
<source><![CDATA[Enable filtering by criteria that are not grouped in tabs]]></source>
<source><![CDATA[Enable filtering by all criteria.]]></source>
</trans-unit>
<trans-unit id="plugin.overview.flexForm.enableFilter.description">
<source><![CDATA[Filters will be rendered as select boxes and tabs will be hidden.]]></source>
</trans-unit>
<trans-unit id="plugin.overview.flexForm.groupBy">
<source><![CDATA[Group news pages in tabs by]]></source>
......
<f:form id="tx-sgnews-filter" method="get" objectName="newsFilter">
<div class="tx-sgnews-filter-bar">
<f:if condition="!{categoryTabs}">
<div class="tx-sgnews-filter-bar-form-control">
<label for="filter-categories">
<f:translate key="frontend.filter.category" />
</label>
<f:form.select class="tx-sgnews-select form-control" multiple="0" size="1" value="{selectedCategory.uid}"
property="category" optionLabelField="title" optionValueField="uid" options="{categories}"
id="filter-categories" prependOptionLabel="" prependOptionValue="" />
</div>
</f:if>
<f:if condition="!{tagTabs}">
<div class="tx-sgnews-filter-bar-form-control">
<label for="filter-tags">
<f:translate key="frontend.filter.tag" />
</label>
<f:form.select class="tx-sgnews-select form-control" multiple="0" size="1" value="{selectedTag.uid}"
property="tag" optionValueField="uid" options="{tags}" id="filter-tags"
optionLabelField="title" prependOptionLabel="" prependOptionValue="" />
</div>
</f:if>
<div class="tx-sgnews-filter-bar-form-control">
<label for="filter-categories">
<f:translate key="frontend.filter.category"/>
</label>
<f:form.select class="tx-sgnews-select form-control" multiple="0" size="1" value="{selectedCategory.uid}"
property="category" optionLabelField="title" optionValueField="uid" options="{categories}"
id="filter-categories" prependOptionLabel="" prependOptionValue=""/>
</div>
<div class="tx-sgnews-filter-bar-form-control">
<label for="filter-tags">
<f:translate key="frontend.filter.tag"/>
</label>
<f:form.select class="tx-sgnews-select form-control" multiple="0" size="1" value="{selectedTag.uid}"
property="tag" optionValueField="uid" options="{tags}" id="filter-tags"
optionLabelField="title" prependOptionLabel="" prependOptionValue=""/>
</div>
</div>
</f:form>
......@@ -7,83 +7,93 @@
<f:render partial="OverviewSchema" arguments="{newsItems: allNews}" />
<f:if condition="{settings.enableFilter}">
<div id="tx-sgnews-newslist">
<f:render partial="Filter" arguments="{tagTabs: tagTabs, categoryTabs: categoryTabs, categories: categories,
<f:then>
<div id="tx-sgnews-newslist">
<f:render partial="Filter" arguments="{tagTabs: tagTabs, categoryTabs: categoryTabs, categories: categories,
tags: tags, selectedTag: selectedTag, selectedCategory: selectedCategory}" />
</div>
</f:if>
<br />
<div class="tx-sgnews-categories m-tabs" data-more-label="Mehr">
<div class="m-tabs__tablist" role="tablist">
<button class="m-tabs__tab" role="tab" aria-controls="news-category-0" id="tab-news-0" aria-selected="true">
<f:translate key="frontend.overview.allTabLabel" />
</button>
<f:for each="{newsItems}" as="dataItems" iteration="iterator">
<button class="m-tabs__tab" role="tab" aria-controls="news-category-{iterator.index + 1}" id="tab-news-{iterator.index + 1}" aria-selected="false">
<f:if condition="{dataItems.recordType} == 'category'">
<f:then>
{dataItems.record.subtitleWithFallbackToTitle}
</f:then>
<f:else>
{dataItems.record.title}
</f:else>
</f:if>
</button>
</f:for>
</div>
<div class="m-tabs__panellist">
<div class="m-tabs__panel" role="tabpanel" aria-labelledby="tab-news-0" id="news-category-0">
<h4 class="tx-sgnews-tab-title"><f:translate key="frontend.overview.allTabLabel" /></h4>
<ul class="tx-sgnews-list tx-sgnews-list-0 row" data-record="0">
<f:for each="{allNews}" as="newsMetaDataEntry">
<li class="col-md-4 col-sm-6 col-xs-12">
<f:render partial="Teaser" arguments="{
newsMetaData: newsMetaDataEntry,
headerTag: '<h2>',
closingHeaderTag: '</h2>',
showCategory: '{f:if(condition: \'{groupBy} == \" category\"\', then: 0, else: 1)}'
}" />
</li>
</f:for>
</ul>
<br />
<f:render section="content" arguments="{_all}" />
</div>
</f:then>
<f:else>
<div class="tx-sgnews-categories m-tabs" data-more-label="Mehr">
<div class="m-tabs__tablist" role="tablist">
<button class="m-tabs__tab" role="tab" aria-controls="news-category-0" id="tab-news-0" aria-selected="true">
<f:translate key="frontend.overview.allTabLabel" />
</button>
<f:for each="{newsItems}" as="dataItems" iteration="iterator">
<button class="m-tabs__tab" role="tab" aria-controls="news-category-{iterator.index + 1}" id="tab-news-{iterator.index + 1}" aria-selected="false">
<f:if condition="{dataItems.recordType} == 'category'">
<f:then>
{dataItems.record.subtitleWithFallbackToTitle}
</f:then>
<f:else>
{dataItems.record.title}
</f:else>
</f:if>
</button>
</f:for>
</div>
<div class="m-tabs__panellist">
<div class="m-tabs__panel" role="tabpanel" aria-labelledby="tab-news-0" id="news-category-0">
<h4 class="tx-sgnews-tab-title"><f:translate key="frontend.overview.allTabLabel" /></h4>
<f:render section="content" arguments="{_all}" />
</div>
<f:for each="{newsItems}" as="dataItems" iteration="iterator">
<div class="m-tabs__panel m-tabs__panel--closed" role="tabpanel" aria-labelledby="tab-news-{iterator.index + 1}" id="news-category-{iterator.index + 1}">
<f:if condition="{dataItems.newsCount} == 0">
<p>
<f:translate key="frontend.filter.no_result" />
</p>
</f:if>
<h4 class="tx-sgnews-tab-title">{dataItems.record.title}</h4>
<ul class="tx-sgnews-list tx-sgnews-list-{dataItems.record.uid} row" data-record="{dataItems.record.uid}">
<f:for each="{dataItems.newsMetaData}" as="newsMetaDataEntry">
<f:if condition="{newsMetaDataEntry.news}">
<li class="col-md-4 col-sm-6 col-xs-12">
<f:render partial="Teaser" arguments="{
<f:for each="{newsItems}" as="dataItems" iteration="iterator">
<div class="m-tabs__panel m-tabs__panel--closed" role="tabpanel" aria-labelledby="tab-news-{iterator.index + 1}" id="news-category-{iterator.index + 1}">
<f:if condition="{dataItems.newsCount} == 0">
<p>
<f:translate key="frontend.filter.no_result" />
</p>
</f:if>
<h4 class="tx-sgnews-tab-title">{dataItems.record.title}</h4>
<ul class="tx-sgnews-list tx-sgnews-list-{dataItems.record.uid} row" data-record="{dataItems.record.uid}">
<f:for each="{dataItems.newsMetaData}" as="newsMetaDataEntry">
<f:if condition="{newsMetaDataEntry.news}">
<li class="col-md-4 col-sm-6 col-xs-12">
<f:render partial="Teaser" arguments="{
newsMetaData: newsMetaDataEntry,
headerTag: '<h2>',
closingHeaderTag: '</h2>',
showCategory: '{f:if(condition: \'{groupBy} == \" category\"\', then: 0, else: 1)}'
}" />
</li>
}" />
</li>
</f:if>
</f:for>
</ul>
<f:if condition="{dataItems.recordType} == 'category'">
<div class="text-center">
<a class="btn btn-md btn-success category-{dataItems.recordId}" href="{f:uri.page(pageUid: '{dataItems.recordId}')}">
<f:translate key="frontend.overview.showAllEntries" />
</a>
</div>
</f:if>
</f:for>
</ul>
<f:if condition="{dataItems.recordType} == 'category'">
<div class="text-center">
<a class="btn btn-md btn-success category-{dataItems.recordId}" href="{f:uri.page(pageUid: '{dataItems.recordId}')}">
<f:translate key="frontend.overview.showAllEntries" />
</a>
</div>
</f:if>
</f:for>
</div>
</f:for>
</div>
</div>
</div>
</f:else>
</f:if>
<sg:pageBrowser numberOfPages="{numberOfPages}" />
</f:section>
<f:section name="content">
<ul class="tx-sgnews-list tx-sgnews-list-0 row" data-record="0">
<f:for each="{allNews}" as="newsMetaDataEntry">
<li class="col-md-4 col-sm-6 col-xs-12">
<f:render partial="Teaser" arguments="{
newsMetaData: newsMetaDataEntry,
headerTag: '<h2>',
closingHeaderTag: '</h2>',
showCategory: '{f:if(condition: \'{groupBy} == \" category\"\', then: 0, else: 1)}'
}" />
</li>
</f:for>
</ul>
</f:section>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment