diff --git a/Configuration/FlexForms/Overview.xml b/Configuration/FlexForms/Overview.xml index e41b3c61dc9d0aa052c86ec86d78cb891a5352e5..83ac47b79a5696e3a1d72d3545ba4fd0cdf3378e 100644 --- a/Configuration/FlexForms/Overview.xml +++ b/Configuration/FlexForms/Overview.xml @@ -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> diff --git a/Resources/Private/Language/de.locallang_db.xlf b/Resources/Private/Language/de.locallang_db.xlf index 26620a5827670dbbd35b337cce312a627d370ecd..169e83ddc4bc7af49019495f57d6054a12cf9bba 100644 --- a/Resources/Private/Language/de.locallang_db.xlf +++ b/Resources/Private/Language/de.locallang_db.xlf @@ -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> diff --git a/Resources/Private/Language/locallang_db.xlf b/Resources/Private/Language/locallang_db.xlf index 61360d4b7daedbc1e7a800123d8f99d8acba297d..9a0121223878341581217191caaa15704eddb6cc 100644 --- a/Resources/Private/Language/locallang_db.xlf +++ b/Resources/Private/Language/locallang_db.xlf @@ -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> diff --git a/Resources/Private/Partials/Filter.html b/Resources/Private/Partials/Filter.html index cf6dda5dba7d40f1b294f0efe65a277e62b1e51a..4b59d4dc6d007e9d0e7bb020ca288d27eedbbb90 100644 --- a/Resources/Private/Partials/Filter.html +++ b/Resources/Private/Partials/Filter.html @@ -1,24 +1,20 @@ <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> diff --git a/Resources/Private/Templates/Overview/Overview.html b/Resources/Private/Templates/Overview/Overview.html index 0b0b056e89ddb2f74204c2776f30e1f79054675c..a6509a5ce0acc80680da8cafcd020cba120b612c 100644 --- a/Resources/Private/Templates/Overview/Overview.html +++ b/Resources/Private/Templates/Overview/Overview.html @@ -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>