diff --git a/Resources/Private/Partials/Pagebrowser/Pagebrowser.html b/Resources/Private/Partials/Pagebrowser/Pagebrowser.html index ac4b4f9c6f34256db6f31687c8110e222a516ed4..d5352804e59f782d15539ed52b813122c75c7a82 100755 --- a/Resources/Private/Partials/Pagebrowser/Pagebrowser.html +++ b/Resources/Private/Partials/Pagebrowser/Pagebrowser.html @@ -7,45 +7,43 @@ <body> <!-- ###PAGE_BROWSER### begin --> <!--TYPO3SEARCH_end--> -<ul class="tx-pagebrowse"> - <!-- ###ACTIVE_PREV### begin --> - <li class="tx-pagebrowse-prev"><a href="###PREV_LINK###">###TEXT_PREV###</a></li> - <!-- ###ACTIVE_PREV### end --> +<nav> + <ul class="pagination"> + <!-- ###ACTIVE_PREV### begin --> + <li class="tx-pagebrowse-prev"><a href="###PREV_LINK###" aria-label="Previous">«</a></li> + <!-- ###ACTIVE_PREV### end --> - <!-- ###INACTIVE_PREV### begin --> - <li class="tx-pagebrowse-prev">###TEXT_PREV###</li> - <!-- ###INACTIVE_PREV### end --> + <!-- ###INACTIVE_PREV### begin --> + <li class="tx-pagebrowse-prev disabled"><a aria-label="Previous"><span aria-hidden="true">«</a></li> + <!-- ###INACTIVE_PREV### end --> - <!-- ###PAGES### begin --> - <li class="tx-pagebrowse-pages"> - <ol> - <!-- ###LESS_PAGES### begin --> - <li>...</li> - <!-- ###LESS_PAGES### end --> - <!-- ###PAGE### begin --> - <li class="tx-pagebrowse-page"><a href="###LINK###">###NUMBER_DISPLAY###</a></li> - <!-- ###PAGE### end --> - <!-- ###CURRENT### begin --> - <li class="tx-pagebrowse-current">###NUMBER_DISPLAY###</li> - <!-- ###CURRENT### end --> - <!-- ###MORE_PAGES### begin --> - <li>...</li> - <!-- ###MORE_PAGES### end --> - </ol> - </li> - <!-- ###PAGES### end --> + <!-- ###PAGES### begin --> + <!-- ###LESS_PAGES### begin --> + <li>...</li> + <!-- ###LESS_PAGES### end --> + <!-- ###PAGE### begin --> + <li class="tx-pagebrowse-page"><a href="###LINK###">###NUMBER_DISPLAY###</a></li> + <!-- ###PAGE### end --> + <!-- ###CURRENT### begin --> + <li class="tx-pagebrowse-current active"><a href="#">###NUMBER_DISPLAY### <span class="sr-only">(current)</span></a></li> + <!-- ###CURRENT### end --> + <!-- ###MORE_PAGES### begin --> + <li>...</li> + <!-- ###MORE_PAGES### end --> + <!-- ###PAGES### end --> - <!-- ###ACTIVE_NEXT### begin --> - <li class="tx-pagebrowse-next"><a href="###NEXT_LINK###">###TEXT_NEXT###</a></li> - <!-- ###ACTIVE_NEXT### end --> + <!-- ###ACTIVE_NEXT### begin --> + <li class="tx-pagebrowse-next"><a href="###NEXT_LINK###" aria-label="Next">»</a></li> + <!-- ###ACTIVE_NEXT### end --> - <!-- ###INACTIVE_NEXT### begin --> - <li class="tx-pagebrowse-next">###TEXT_NEXT###</li> - <!-- ###INACTIVE_NEXT### end --> + <!-- ###INACTIVE_NEXT### begin --> + <li class="tx-pagebrowse-next disabled"><a aria-label="Next"><span aria-hidden="true">»</a><</li> + <!-- ###INACTIVE_NEXT### end --> -</ul> + </ul> +</nav> <!--TYPO3SEARCH_begin--> <!-- ###PAGE_BROWSER### end --> </body> -</html> \ No newline at end of file +</html> diff --git a/Resources/Private/Partials/Teaser.html b/Resources/Private/Partials/Teaser.html index bf101023ba721d8bf75f4e48d443ce6731df2a0a..699d4dbba471b6286894e6e7a743fb6f97ced0c7 100644 --- a/Resources/Private/Partials/Teaser.html +++ b/Resources/Private/Partials/Teaser.html @@ -20,56 +20,42 @@ </f:comment> <f:alias map="{singleViewUri: '{f:uri.page(pageUid: \'{newsMetaData.news.uid}\')}'}"> - <f:if condition="{newsMetaData.teaserImageObject}"> - <div class="tx-sgnews-teaser-image"> - <a href="{singleViewUri}"> - <f:image image="{newsMetaData.teaserImageObject}" alt="" /> - </a> - </div> - </f:if> - - <div class="tx-sgnews-teaser-inner"> - <a href="{singleViewUri}" class="tx-sgnews-teaser-title"> - {headerTag -> f:format.raw()} - {newsMetaData.news.subtitleWithFallbackToTitle} - {closingHeaderTag -> f:format.raw()} - </a> - - <a href="{singleViewUri}" class="tx-sgnews-teaser-description"> - <f:format.html>{newsMetaData.news.description}</f:format.html> - </a> + <a href="{singleViewUri}"> + <div class="tx-sgnews-teaser-image tx-sgnews-teaser-image-stretched" style="background-image: url({f:uri.image(image: '{newsMetaData.teaserImageObject}')});"></div> + <div class="tx-sgnews-teaser-inner"> + <div class="tx-sgnews-teaser-title"> + {headerTag -> f:format.raw()} + {newsMetaData.news.subtitleWithFallbackToTitle} + {closingHeaderTag -> f:format.raw()} + </div> + + <div class="tx-sgnews-teaser-description"> + <f:format.html>{newsMetaData.news.description}</f:format.html> + </div> - <div class="tx-sgnews-moreLink"> - <a href="{singleViewUri}"> - <f:translate key="frontend.teaser.readMore" /> - </a> </div> <div class="tx-sgnews-teaser-meta"> <span class="author"> <f:if condition="{newsMetaData.news.authorFrontendUser}"> <f:then> - <a href="{singleViewUri}">{newsMetaData.news.authorFrontendUser.name}</a> + {newsMetaData.news.authorFrontendUser.name} </f:then> <f:else> - <a href="{singleViewUri}">{newsMetaData.news.author}</a> + {newsMetaData.news.author} </f:else> </f:if> </span> <span class="date"> - <a href="{singleViewUri}"> - <f:format.date format="%d. %B %Y">{newsMetaData.news.lastUpdated}</f:format.date> - </a> + <f:format.date format="%d. %B %Y">{newsMetaData.news.lastUpdated}</f:format.date> </span> <f:if condition="{showCategory}"> <span class="category"> - <a href="{singleViewUri}"> - {newsMetaData.category.subtitleWithFallbackToTitle} - </a> + {newsMetaData.category.subtitleWithFallbackToTitle} </span> </f:if> </div> - </div> + </a> </f:alias> diff --git a/Resources/Private/Partials/TeaserOverview.html b/Resources/Private/Partials/TeaserOverview.html new file mode 100644 index 0000000000000000000000000000000000000000..7ffd1656d9b840c635c3d53e358819b76bb401a2 --- /dev/null +++ b/Resources/Private/Partials/TeaserOverview.html @@ -0,0 +1,72 @@ +{namespace sg=SGalinski\SgNews\ViewHelpers} + +<f:comment xmlns:f="http://www.w3.org/1999/html"> + <!-- + Usage Example: + + <f:render partial="Teaser" arguments="{ + newsMetaData: newsMetaData, + headerTag: '<h3>', + closingHeaderTag: '</h3>', + showCategory: 1 + }" /> + + newsMetaData -> news element + headerTag -> hierarchy type of the header tag + showCategory -> defines if the category may be shown + + Use <f:debug>{_all}</f:debug> to see all parameters and fields. + --> +</f:comment> + +<f:alias map="{singleViewUri: '{f:uri.page(pageUid: \'{newsMetaData.news.uid}\')}'}"> + <a href="{singleViewUri}" title="{newsMetaData.news.subtitleWithFallbackToTitle}"> + <div class="tx-sgnews-single-header {f:if(condition: newsMetaData.imageObject, then: 'tx-sgnews-single-header-image')}"> + <f:if condition="{newsMetaData.imageObject}"> + <div class="tx-sgnews-single-image"> + <f:image image="{newsMetaData.imageObject}" alt="" /> + </div> + </f:if> + <div class="tx-sgnews-single-header-content"> + <div class="tx-sgnews-teaser-title"> + <h1>{newsMetaData.news.subtitleWithFallbackToTitle}</h1> + </div> + <div class="tx-sgnews-teaser"> + <div class="tx-sgnews-teaser-inner"> + <div class="tx-sgnews-teaser-meta"> + <span class="author"> + <f:if condition="{newsMetaData.news.authorFrontendUser}"> + <f:then> + <f:if condition="{newsMetaData.news.authorFrontendUser.www}"> + <f:then> + <f:link.page pageUid="{newsMetaData.news.authorFrontendUser.www}"> + {newsMetaData.news.authorFrontendUser.name} + </f:link.page> + </f:then> + <f:else> + {newsMetaData.news.authorFrontendUser.name} + </f:else> + </f:if> + </f:then> + <f:else> + {newsMetaData.news.author} + </f:else> + </f:if> + </span> + + <span class="date"> + <f:format.date format="%d. %B %Y">{newsMetaData.news.lastUpdated}</f:format.date> + </span> + + <span class="category"> + <a href="{f:uri.page(pageUid: '{newsMetaData.category.uid}')}"> + {newsMetaData.category.subtitleWithFallbackToTitle} + </a> + </span> + </div> + </div> + </div> + </div> + </div> + </a> +</f:alias> diff --git a/Resources/Private/Templates/Latest/Index.html b/Resources/Private/Templates/Latest/Index.html index 95eee7d3d631955ee3b0c89020d651b4113f967d..fb2216d954374548d97649aefff716685e82fecc 100644 --- a/Resources/Private/Templates/Latest/Index.html +++ b/Resources/Private/Templates/Latest/Index.html @@ -1,14 +1,38 @@ <f:layout name="Default" /> <f:section name="main"> - <f:for each="{newsMetaData}" as="newsMetaDataEntry"> - <div class="tx-sgnews-latest"> - <f:render partial="Teaser" arguments="{ - newsMetaData: newsMetaDataEntry, - headerTag: '<h3>', - closingHeaderTag: '</h3>', - showCategory: 1 - }" /> + <div id="carousel-latest-news" class="carousel slide carousel-stretch" data-ride="carousel" data-interval="0"> + <f:if condition="{newsMetaData -> f:count()} > 1"> + <ol class="carousel-indicators"> + <f:for each="{newsMetaData}" as="newsMetaDataEntry" iteration="iterator"> + <li data-target="#carousel-latest-news" data-slide-to="{iterator.index}" class="{f:if(condition: '{iterator.isFirst}', then: 'active')}"></li> + </f:for> + </ol> + </f:if> + + <div class="carousel-inner" role="listbox"> + <f:for each="{newsMetaData}" as="newsMetaDataEntry" iteration="iterator"> + <div class="item {f:if(condition: '{iterator.isFirst}', then: 'active')}"> + <f:render partial="TeaserOverview" arguments="{ + newsMetaData: newsMetaDataEntry, + headerTag: '<h3>', + closingHeaderTag: '</h3>', + showCategory: 1 + }" /> + </div> + </f:for> </div> - </f:for> + + <f:if condition="{newsMetaData -> f:count()} > 1"> + <a class="left carousel-control" href="#carousel-latest-news" role="button" data-slide="prev"> + <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> + <span class="sr-only">Previous</span> + </a> + + <a class="right carousel-control" href="#carousel-latest-news" role="button" data-slide="next"> + <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> + <span class="sr-only">Next</span> + </a> + </f:if> + </div> </f:section> diff --git a/Resources/Private/Templates/ListByCategory/Index.html b/Resources/Private/Templates/ListByCategory/Index.html index 8d45fef7802ab0e156928e584fa0eaa620315d32..351fe63665af3c5f7dd6899322255bb6d5e1fb5b 100644 --- a/Resources/Private/Templates/ListByCategory/Index.html +++ b/Resources/Private/Templates/ListByCategory/Index.html @@ -3,31 +3,53 @@ {namespace sg=SGalinski\SgNews\ViewHelpers} <f:section name="main"> - <f:if condition="{highlightedNewsMetaData}"> - <div class="tx-sgnews-latest"> - <f:render partial="Teaser" arguments="{ - newsMetaData: highlightedNewsMetaData, - headerTag: '<h2>', - closingHeaderTag: '</h2>', - showCategory: 0 - }" /> - </div> - </f:if> - <f:if condition="{newsMetaData}"> - <ul class="tx-sgnews-list"> - <f:for each="{newsMetaData}" as="newsMetaDataEntry"> - <li> - <f:render partial="Teaser" arguments="{ - newsMetaData: newsMetaDataEntry, - headerTag: '<h2>', - closingHeaderTag: '</h2>', - showCategory: 0 - }" /> - </li> - </f:for> - </ul> + <div class="intro-section"> + <section class="content dark-bg "> + <div class="container"> + <div id="c1266" class="default-content-element"> + <div class="ce-textpic ce-left ce-above"> + <div class="ce-bodytext"> + <div class="spacer-60"></div> + <h2 style="text-align: center" class="tx-sgnews-category-title">{category.subtitleWithFallbackToTitle}</h2> + <div class="spacer-60"></div> + </div> + </div> + </div> + </div> + </section> + </div> + + <div class="spacer-30"></div> + + <f:if condition="{highlightedNewsMetaData}"> + <section class="content light-bg "> + <div class="container tx-sgnews-categories"> + <ul class="tx-sgnews-list row"> + <f:if condition="{highlightedNewsMetaData}"> + <li class="col-md-4 col-sm-6 col-xs-12 sgnews-list-item-latest"> + <f:render partial="Teaser" arguments="{ + newsMetaData: highlightedNewsMetaData, + headerTag: '<h2>', + closingHeaderTag: '</h2>', + showCategory: 0 + }" /> + </li> + </f:if> + <f:for each="{newsMetaData}" 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: 0 + }" /> + </li> + </f:for> + </ul> - <sg:pageBrowser numberOfPages="{numberOfPages}" /> + <sg:pageBrowser numberOfPages="{numberOfPages}" /> + </div> + </section> </f:if> -</f:section> \ No newline at end of file +</f:section> diff --git a/Resources/Private/Templates/Overview/Overview.html b/Resources/Private/Templates/Overview/Overview.html index a4f6aa0277a013a99e37cd042006ed6ba75b0140..f0b9fa3c9cdf4e1d62889ca91a80c62131a9519f 100644 --- a/Resources/Private/Templates/Overview/Overview.html +++ b/Resources/Private/Templates/Overview/Overview.html @@ -3,45 +3,47 @@ {namespace sg=SGalinski\SgNews\ViewHelpers} <f:section name="main"> - <f:if condition="{highlightedNewsMetaData}"> - <div class="tx-sgnews-latest"> - <f:render partial="Teaser" arguments="{ - newsMetaData: highlightedNewsMetaData, - headerTag: '<h2>', - closingHeaderTag: '</h2>', - showCategory: 1 - }" /> - </div> - </f:if> - <f:if condition="{newsByCategory}"> - <ul class="tx-sgnews-categories"> - <f:for each="{newsByCategory}" as="dataByCategory"> - <li class="tx-sgnews-category"> - <a class="category-{dataByCategory.category.uid}" href="{f:uri.page(pageUid: '{dataByCategory.category.uid}')}"> - {dataByCategory.category.subtitleWithFallbackToTitle} - </a> + <div class="tx-sgnews-categories"> + <div class="tx-sgnews-categories-tabmenu-outer tabs-menu"> + <a class="tabs-menu-button" href="#">Kategorie <span></span></a> - <ul class="tx-sgnews-list"> - <f:for each="{dataByCategory.newsMetaData}" as="newsMetaDataEntry"> - <li> - <f:render partial="Teaser" arguments="{ - newsMetaData: newsMetaDataEntry, - headerTag: '<h2>', - closingHeaderTag: '</h2>', - showCategory: 0 - }" /> - </li> - </f:for> - </ul> + <ul class="tx-sgnews-categories-tabmenu tabs-menu-list nav nav-tabs"> + <f:for each="{newsByCategory}" as="dataByCategory"> + <li class="tx-sgnews-category"> + <a class="category-{dataByCategory.category.uid}" data-tab="tx-sgnews-categories-tabcontent{dataByCategory.category.uid}" href="#tx-sgnews-categories-tabcontent{dataByCategory.category.uid}"> + {dataByCategory.category.subtitleWithFallbackToTitle} + </a> + </li> + </f:for> + </ul> + </div> - <div class="tx-sgnews-moreLink"> - <a class="category-{dataByCategory.category.uid}" href="{f:uri.page(pageUid: '{dataByCategory.category.uid}')}"> - <f:translate key="frontend.overview.showAllEntries" /> - </a> + <div class="tx-sgnews-categories-tabcontents tabs-contents"> + <f:for each="{newsByCategory}" as="dataByCategory"> + <div class="tx-sgnews-categories-tabcontent" id="tx-sgnews-categories-tabcontent{dataByCategory.category.uid}"> + <h4 class="tx-sgnews-tab-title">{dataByCategory.category.title}</h4> + <ul class="tx-sgnews-list row"> + <f:for each="{dataByCategory.newsMetaData}" 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: 0 + }" /> + </li> + </f:for> + </ul> + + <div class="text-center"> + <a class="btn btn-md btn-success category-{dataByCategory.category.uid}" href="{f:uri.page(pageUid: '{dataByCategory.category.uid}')}"> + <f:translate key="frontend.overview.showAllEntries" /> + </a> + </div> </div> - </li> - </f:for> - </ul> + </f:for> + </div> + </div> </f:if> -</f:section> \ No newline at end of file +</f:section> diff --git a/Resources/Private/Templates/Overview/OverviewAll.html b/Resources/Private/Templates/Overview/OverviewAll.html new file mode 100644 index 0000000000000000000000000000000000000000..ade7bf9bd39c9242b4c06b8249a975aa9886319a --- /dev/null +++ b/Resources/Private/Templates/Overview/OverviewAll.html @@ -0,0 +1,23 @@ +<f:layout name="Default" /> + +{namespace sg=SGalinski\SgNews\ViewHelpers} + +<f:section name="main"> + <div class="tx-sgnews-overview"> + <ul class="tx-sgnews-list row"> + <f:for each="{dataByCategory.newsMetaData}" 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: 1 + }" /> + </li> + </f:for> + </ul> + </div> + + <sg:pageBrowser numberOfPages="{numberOfPages}" /> + +</f:section> diff --git a/Resources/Private/Templates/SingleView/SingleView.html b/Resources/Private/Templates/SingleView/SingleView.html index d4d9bbb574346fceea858ee5a48f603617d8c333..50dfefce21dc2f7c67639d3434ebf0d82b12e579 100644 --- a/Resources/Private/Templates/SingleView/SingleView.html +++ b/Resources/Private/Templates/SingleView/SingleView.html @@ -4,116 +4,138 @@ {namespace rx=Reelworx\RxShariff\ViewHelper} <f:section name="main"> - <div class="tx-sgnews-single"> - <div class="tx-sgnews-teaser"> - <f:if condition="{newsMetaData.imageObject}"> - <div class="tx-sgnews-single-image"> - <f:image image="{newsMetaData.imageObject}" alt="" /> - </div> - </f:if> - - <div class="tx-sgnews-teaser-inner"> - <div class="tx-sgnews-teaser-title"> - <h1>{newsMetaData.news.subtitleWithFallbackToTitle}</h1> - </div> - - <div class="tx-sgnews-teaser-meta"> - <span class="author"> - <f:if condition="{newsMetaData.news.authorFrontendUser}"> - <f:then> - <f:if condition="{newsMetaData.news.authorFrontendUser.www}"> + <div class="intro-section"> + <section class="dark-bg"> + <div class="tx-sgnews-single-header {f:if(condition: newsMetaData.imageObject, then: 'tx-sgnews-single-header-image')}"> + <f:if condition="{newsMetaData.imageObject}"> + <div class="tx-sgnews-single-image"> + <f:image image="{newsMetaData.imageObject}" alt="" /> + </div> + </f:if> + <div class="tx-sgnews-single-header-content"> + <div class="tx-sgnews-teaser-title"> + <h1>{newsMetaData.news.subtitleWithFallbackToTitle}</h1> + </div> + <div class="tx-sgnews-teaser"> + <div class="tx-sgnews-teaser-inner"> + <div class="tx-sgnews-teaser-meta"> + <span class="author"> + <f:if condition="{newsMetaData.news.authorFrontendUser}"> <f:then> - <f:link.page pageUid="{newsMetaData.news.authorFrontendUser.www}"> - {newsMetaData.news.authorFrontendUser.name} - </f:link.page> + <f:if condition="{newsMetaData.news.authorFrontendUser.www}"> + <f:then> + <f:link.page pageUid="{newsMetaData.news.authorFrontendUser.www}"> + {newsMetaData.news.authorFrontendUser.name} + </f:link.page> + </f:then> + <f:else> + {newsMetaData.news.authorFrontendUser.name} + </f:else> + </f:if> </f:then> <f:else> - {newsMetaData.news.authorFrontendUser.name} + {newsMetaData.news.author} </f:else> </f:if> - </f:then> - <f:else> - {newsMetaData.news.author} - </f:else> - </f:if> - </span> + </span> - <span class="date"> - <f:format.date format="%d. %B %Y">{newsMetaData.news.lastUpdated}</f:format.date> - </span> + <span class="date"> + <f:format.date format="%d. %B %Y">{newsMetaData.news.lastUpdated}</f:format.date> + </span> - <span class="category"> - {newsMetaData.category.subtitleWithFallbackToTitle} - </span> + <span class="category"> + <a href="{f:uri.page(pageUid: '{newsMetaData.category.uid}')}"> + {newsMetaData.category.subtitleWithFallbackToTitle} + </a> + </span> + </div> + </div> + </div> </div> </div> - </div> - - <div class="tx-sgnews-single-container"> - <f:if condition="{newsMetaData.news.relatedNews}"> - <div class="tx-sgnews-single-relatedNews"> - <h2> - <f:translate key="frontend.singleview.relatedArticles" /> - </h2> + </section> - <ul> - <f:for each="{newsMetaData.news.relatedNews}" as="relatedNewsEntry"> - <li> - <a href="{f:uri.page(pageUid: '{relatedNewsEntry.uid}')}"> - {relatedNewsEntry.subtitleWithFallbackToTitle} - </a> - </li> - </f:for> - </ul> - </div> - </f:if> + </div> + <section class="content light-bg "> + <div class="container"> + <div class="tx-sgnews-single"> + <div class="tx-sgnews-single-container"> + <f:alias map="{content: '{f:cObject(typoscriptObjectPath: \'lib.mainContent\')}'}"> + <div class="tx-sgnews-single-content"> + <p> + <a href="#comments">{f:cObject(typoscriptObjectPath: "lib.pwCommentsGetCountWithLabel")}</a> + <span>//</span> + <f:translate key="frontend.singleview.readingTime" /> + <strong> + <sg:getReadingTime content="{content}" /> + </strong> + </p> - <f:alias map="{content: '{f:cObject(typoscriptObjectPath: \'lib.mainContent\')}'}"> - <div class="tx-sgnews-single-content"> - <p> - <a href="#comments">{f:cObject(typoscriptObjectPath: "lib.pwCommentsGetCountWithLabel")}</a> - <span>//</span> - <f:translate key="frontend.singleview.readingTime" /> - <strong> - <sg:getReadingTime content="{content}" /> - </strong> - </p> + {content -> f:format.raw()} + </div> + </f:alias> - {content -> f:format.raw()} - </div> - </f:alias> + <hr> - <rx:shariff services="facebook,twitter,googleplus,whatsapp" enableBackend="true" /> - </div> - </div> + <rx:shariff services="facebook,twitter,googleplus,whatsapp" enableBackend="true" /> - <div class="tx-sgnews-single-footer"> - <sg:extendedIf condition="{previousNews}" or="{nextNews}"> - <div class="tx-sgnews-single-footer-browser"> - <f:if condition="{previousNews}"> - <a href="{f:uri.page(pageUid: '{previousNews.uid}')}" class="tx-sgnews-footer-browser-previous"> - <f:translate key="frontend.singleview.previousArticle" /> - </a> - </f:if> + <f:if condition="{newsMetaData.news.relatedNews}"> + <div class="tx-sgnews-single-related"> + <h3> + <f:translate key="frontend.singleview.relatedArticles" /> + </h3> - <f:if condition="{nextNews}"> - <a href="{f:uri.page(pageUid: '{nextNews.uid}')}" class="tx-sgnews-footer-browser-next"> - <f:translate key="frontend.singleview.nextArticle" /> - </a> - </f:if> + <ul> + <f:for each="{newsMetaData.news.relatedNews}" as="relatedNewsEntry"> + <li> + <a href="{f:uri.page(pageUid: '{relatedNewsEntry.uid}')}"> + {relatedNewsEntry.subtitleWithFallbackToTitle} + </a> + </li> + </f:for> + </ul> + </div> + </f:if> + </div> </div> - </sg:extendedIf> - </div> + </section> + + <section class="content dark-bg"> + <div class="container"> + <div class="tx-sgnews-single-footer"> + <sg:extendedIf condition="{previousNews}" or="{nextNews}"> + <div class="tx-sgnews-single-footer-browser"> + <f:if condition="{previousNews}"> + <a href="{f:uri.page(pageUid: '{previousNews.uid}')}" class="btn btn-md btn-info tx-sgnews-footer-browser-previous"> + <f:translate key="frontend.singleview.previousArticle" /> + </a> + </f:if> - <div class="tx-sgnews-single-comments"> - <div class="tx-sgnews-comments-inner"> - <f:cObject typoscriptObjectPath="lib.pwCommentsIndex" /> - <hr> - <div class="tx-sgnews-single-comment-form"> - <f:flashMessages renderMode="div" /> - <f:cObject typoscriptObjectPath="lib.pwCommentsNew" /> + <f:if condition="{nextNews}"> + <a href="{f:uri.page(pageUid: '{nextNews.uid}')}" class="btn btn-md btn-info tx-sgnews-footer-browser-next"> + <f:translate key="frontend.singleview.nextArticle" /> + </a> + </f:if> + </div> + </sg:extendedIf> </div> + </div> + </section> + <section class="content light-bg"> + <div class="container"> + <div class="tx-sgnews-single-comments"> + <div class="tx-sgnews-comments-inner"> + <f:cObject typoscriptObjectPath="lib.pwCommentsIndex" /> + <hr> + <div class="tx-sgnews-single-comment-form"> + <f:flashMessages renderMode="div" /> + <f:cObject typoscriptObjectPath="lib.pwCommentsNew" /> + </div> + + </div> + </div> </div> - </div> + </div> + </section> </f:section>