Browse Source

Update homepage

imwald
Nuša Pukšič 4 months ago
parent
commit
d504d05ace
  1. 2
      src/Command/QualityCheckArticlesCommand.php
  2. 18
      src/Controller/DefaultController.php

2
src/Command/QualityCheckArticlesCommand.php

@ -49,7 +49,7 @@ class QualityCheckArticlesCommand extends Command
$content = $article->getContent(); $content = $article->getContent();
// No empty title // No empty title
if (empty($article->getTitle()) || strtolower($article->getTitle()) === 'test') { if (empty($article->getTitle()) || strtolower($article->getTitle()) === 'test' || strtolower($article->getTitle()) === 'step counter') {
return false; return false;
} }

18
src/Controller/DefaultController.php

@ -15,6 +15,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Attribute\Route;
use Symfony\Contracts\Cache\CacheInterface; use Symfony\Contracts\Cache\CacheInterface;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use Symfony\Contracts\Cache\ItemInterface;
class DefaultController extends AbstractController class DefaultController extends AbstractController
{ {
@ -26,28 +27,21 @@ class DefaultController extends AbstractController
/** /**
* @throws Exception * @throws Exception
* @throws InvalidArgumentException
*/ */
#[Route('/', name: 'home')] #[Route('/', name: 'home')]
public function index(): Response public function index(): Response
{ {
$cacheKey = 'home-latest-articles';
$latest = $this->redisCache->get($cacheKey, function (ItemInterface $item) {
$item->expiresAfter(13600); // about 4 hours
// get latest articles // get latest articles
$q = new Query(); $q = new Query();
$q->setSize(12); $q->setSize(50);
$q->setSort(['createdAt' => ['order' => 'desc']]); $q->setSort(['createdAt' => ['order' => 'desc']]);
$latest = $this->finder->find($q); return $this->finder->find($q);
// get newsroom index, loop over categories, pick top three from each and display in sections
$mag = $this->redisCache->get('magazine-newsroom-magazine-by-newsroom', function (){
return null;
});
$tags = $mag->getTags();
$cats = array_filter($tags, function($tag) {
return ($tag[0] === 'a');
}); });
return $this->render('home.html.twig', [ return $this->render('home.html.twig', [
'indices' => array_values($cats),
'latest' => $latest 'latest' => $latest
]); ]);
} }

Loading…
Cancel
Save