src/Controller/TermsController.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Contracts\Translation\TranslatorInterface;
  7. /**
  8.  * @Route("/terms", name="terms", options={"sitemap" = true})
  9.  */
  10. final class TermsController extends AbstractController
  11. {
  12.     const TERMS_TRANS_KEY  'terms_and_conditions.html';
  13.     public function __invoke(TranslatorInterface $translator): Response
  14.     {
  15.         if($text $this->getTranslatedText($translator)) {
  16.             return $this->render('terms/translated.html.twig', [
  17.                 'termsText' => $text,
  18.             ]);
  19.         }
  20.         return $this->render('terms/'.$this->getParameter('locale').'.html.twig');
  21.     }
  22.     private function getTranslatedText(TranslatorInterface $translator):?string
  23.     {
  24.         $translated $translator->trans(self::TERMS_TRANS_KEY);
  25.         if ($translated !== self::TERMS_TRANS_KEY) {
  26.             return  $translated;
  27.         } 
  28.         return null;
  29.     }
  30. }