src/Controller/Front/BlogController.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Knp\Component\Pager\PaginatorInterface;
  7. use App\Repository\Blog\PostRepository;
  8. use App\Repository\Blog\CategoryRepository;
  9. use App\Entity\Blog\Post;
  10. use App\Entity\Blog\Category;
  11. class BlogController extends AbstractController
  12. {
  13.     public function index(Request $requestPostRepository $repositoryCategoryRepository $categoryRepositoryPaginatorInterface $paginatorCategory $category null): Response
  14.     {
  15.         $keyword $request->query->get('keyword');
  16.         $query $repository->findPostsQuery($category$keyword);
  17.         $posts $paginator->paginate($query$request->query->getInt('page'1), 3);
  18.         $categories $categoryRepository->findAll();
  19.         $recentPost $repository->findRecent();
  20.         $count 0;
  21.         foreach ($categories as $category)  $count += count($category->getPosts());
  22.         return $this->render('front/blog/index.html.twig', [
  23.             'posts' => $posts,
  24.             'count' => $count,
  25.             'keyword' => $keyword,
  26.             'categories' => $categories,
  27.             'recent_post' => $recentPost,
  28.         ]);
  29.     }
  30.     public function show(Post $postCategoryRepository $categoryRepositoryPostRepository $repository): Response
  31.     {
  32.         $categories $categoryRepository->findAll();
  33.         $recentPost $repository->findRecent();
  34.         $count 0;
  35.         foreach ($categories as $category)  $count += count($category->getPosts());
  36.         return $this->render('front/blog/show.html.twig', [
  37.             'post' => $post,
  38.             'count' => $count,
  39.             'categories' => $categories,
  40.             'recent_post' => $recentPost,
  41.         ]);
  42.     }
  43. }