From 108def3041336faae5d033141b540fb668774949 Mon Sep 17 00:00:00 2001 From: Fabian Galinski <fabian@sgalinski.de> Date: Tue, 21 Jun 2016 21:35:18 +0200 Subject: [PATCH] [TASK] Removal of the highlighted news from the list by category --- .../Controller/ListByCategoryController.php | 34 +++++--------- Configuration/TCA/Overrides/pages.php | 2 - .../Templates/ListByCategory/Index.html | 46 +++++++------------ 3 files changed, 29 insertions(+), 53 deletions(-) diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php index 030309a..21c9436 100644 --- a/Classes/Controller/ListByCategoryController.php +++ b/Classes/Controller/ListByCategoryController.php @@ -80,38 +80,28 @@ class ListByCategoryController extends AbstractController { $newsCount = $this->newsRepository->newsCountByCategories($categoryUids); $numberOfPages = ceil($newsCount / $newsPerPage); - $highlightedNews = NULL; - $news = $this->newsRepository->findAllSortedNewsByCategories($categoryUids, $newsPerPage, $offset); - $news = $news->toArray(); - if ($currentPageBrowserPage <= 1) { - $highlightedNews = $this->newsRepository - ->findLastUpdatedOrHighlightedNewsByCategories(1, FALSE, $categoryUids)->getFirst(); - if ($highlightedNews && !in_array($highlightedNews, $news)) { - $news[] = $highlightedNews; - } - } - - $newsMetaData = $highlightedNewsMetaData = []; + $newsMetaData = []; + $headerSet = FALSE; + $news = $this->newsRepository->findAllSortedNewsByCategories($categoryUids, $newsPerPage, $offset)->toArray(); foreach ($news as $newsEntry) { /** @var News $newsEntry */ $data = $this->getMetaDataForNews($newsEntry, $categories[$newsEntry->getPid()]); - if ($newsEntry === $highlightedNews) { - $highlightedNewsMetaData = $data; - continue; - } $newsMetaData[] = $data; - } - if ($highlightedNewsMetaData['image']) { - HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['image']); - } elseif ($highlightedNewsMetaData['teaserImage']) { - HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['teaserImage']); + if (!$headerSet) { + if ($data['image']) { + HeaderMetaDataService::addOgImageToHeader($data['image']); + $headerSet = TRUE; + } elseif ($data['teaserImage']) { + HeaderMetaDataService::addOgImageToHeader($data['teaserImage']); + $headerSet = TRUE; + } + } } $this->view->assign('numberOfPages', $numberOfPages); $this->view->assign('newsMetaData', $newsMetaData); $this->view->assign('categories', $categories); - $this->view->assign('highlightedNewsMetaData', $highlightedNewsMetaData); } } diff --git a/Configuration/TCA/Overrides/pages.php b/Configuration/TCA/Overrides/pages.php index ce1eba5..b63b3b5 100644 --- a/Configuration/TCA/Overrides/pages.php +++ b/Configuration/TCA/Overrides/pages.php @@ -1,8 +1,6 @@ <?php -// @todo: Keep in touch, if the image elements still won't copy on translation. 20.06.2016 $imageColumns = [ - // @todo Set the image crop ratio for both sgnews images. 'tx_sgnews_teaser1_image' => [ 'exclude' => TRUE, 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tx_sgnews_teaser1_image', diff --git a/Resources/Private/Templates/ListByCategory/Index.html b/Resources/Private/Templates/ListByCategory/Index.html index e224d4c..188fdae 100644 --- a/Resources/Private/Templates/ListByCategory/Index.html +++ b/Resources/Private/Templates/ListByCategory/Index.html @@ -24,34 +24,22 @@ <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: 1 - }" /> - </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: 1 - }" /> - </li> - </f:for> - </ul> + <section class="content light-bg "> + <div class="container tx-sgnews-categories"> + <ul class="tx-sgnews-list row"> + <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: 1 + }" /> + </li> + </f:for> + </ul> - <sg:pageBrowser numberOfPages="{numberOfPages}" /> - </div> - </section> - </f:if> + <sg:pageBrowser numberOfPages="{numberOfPages}" /> + </div> + </section> </f:section> -- GitLab