Skip to content
Snippets Groups Projects
Commit 108def30 authored by Fabian Galinski's avatar Fabian Galinski :pouting_cat:
Browse files

[TASK] Removal of the highlighted news from the list by category

parent d1d9b179
No related branches found
No related tags found
No related merge requests found
...@@ -80,38 +80,28 @@ class ListByCategoryController extends AbstractController { ...@@ -80,38 +80,28 @@ class ListByCategoryController extends AbstractController {
$newsCount = $this->newsRepository->newsCountByCategories($categoryUids); $newsCount = $this->newsRepository->newsCountByCategories($categoryUids);
$numberOfPages = ceil($newsCount / $newsPerPage); $numberOfPages = ceil($newsCount / $newsPerPage);
$highlightedNews = NULL; $newsMetaData = [];
$news = $this->newsRepository->findAllSortedNewsByCategories($categoryUids, $newsPerPage, $offset); $headerSet = FALSE;
$news = $news->toArray(); $news = $this->newsRepository->findAllSortedNewsByCategories($categoryUids, $newsPerPage, $offset)->toArray();
if ($currentPageBrowserPage <= 1) {
$highlightedNews = $this->newsRepository
->findLastUpdatedOrHighlightedNewsByCategories(1, FALSE, $categoryUids)->getFirst();
if ($highlightedNews && !in_array($highlightedNews, $news)) {
$news[] = $highlightedNews;
}
}
$newsMetaData = $highlightedNewsMetaData = [];
foreach ($news as $newsEntry) { foreach ($news as $newsEntry) {
/** @var News $newsEntry */ /** @var News $newsEntry */
$data = $this->getMetaDataForNews($newsEntry, $categories[$newsEntry->getPid()]); $data = $this->getMetaDataForNews($newsEntry, $categories[$newsEntry->getPid()]);
if ($newsEntry === $highlightedNews) {
$highlightedNewsMetaData = $data;
continue;
}
$newsMetaData[] = $data; $newsMetaData[] = $data;
}
if ($highlightedNewsMetaData['image']) { if (!$headerSet) {
HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['image']); if ($data['image']) {
} elseif ($highlightedNewsMetaData['teaserImage']) { HeaderMetaDataService::addOgImageToHeader($data['image']);
HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['teaserImage']); $headerSet = TRUE;
} elseif ($data['teaserImage']) {
HeaderMetaDataService::addOgImageToHeader($data['teaserImage']);
$headerSet = TRUE;
}
}
} }
$this->view->assign('numberOfPages', $numberOfPages); $this->view->assign('numberOfPages', $numberOfPages);
$this->view->assign('newsMetaData', $newsMetaData); $this->view->assign('newsMetaData', $newsMetaData);
$this->view->assign('categories', $categories); $this->view->assign('categories', $categories);
$this->view->assign('highlightedNewsMetaData', $highlightedNewsMetaData);
} }
} }
......
<?php <?php
// @todo: Keep in touch, if the image elements still won't copy on translation. 20.06.2016
$imageColumns = [ $imageColumns = [
// @todo Set the image crop ratio for both sgnews images.
'tx_sgnews_teaser1_image' => [ 'tx_sgnews_teaser1_image' => [
'exclude' => TRUE, 'exclude' => TRUE,
'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tx_sgnews_teaser1_image', 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tx_sgnews_teaser1_image',
......
...@@ -24,34 +24,22 @@ ...@@ -24,34 +24,22 @@
<div class="spacer-30"></div> <div class="spacer-30"></div>
<f:if condition="{highlightedNewsMetaData}"> <section class="content light-bg ">
<section class="content light-bg "> <div class="container tx-sgnews-categories">
<div class="container tx-sgnews-categories"> <ul class="tx-sgnews-list row">
<ul class="tx-sgnews-list row"> <f:for each="{newsMetaData}" as="newsMetaDataEntry">
<f:if condition="{highlightedNewsMetaData}"> <li class="col-md-4 col-sm-6 col-xs-12">
<li class="col-md-4 col-sm-6 col-xs-12 sgnews-list-item-latest"> <f:render partial="Teaser" arguments="{
<f:render partial="Teaser" arguments="{ newsMetaData: newsMetaDataEntry,
newsMetaData: highlightedNewsMetaData, headerTag: '<h2>',
headerTag: '<h2>', closingHeaderTag: '</h2>',
closingHeaderTag: '</h2>', showCategory: 1
showCategory: 1 }" />
}" /> </li>
</li> </f:for>
</f:if> </ul>
<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}" /> <sg:pageBrowser numberOfPages="{numberOfPages}" />
</div> </div>
</section> </section>
</f:if>
</f:section> </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