Привет всем, я пришел к вам, потому что у меня есть небольшая проблема, которую я хотел бы решить с отображением сайтов, переведенных следующим образом на примерах:

<link rel="alternate" hreflang="en" href="https://www.deezer.com/en/artist/1191615/top_track">
<link rel="alternate" hreflang="fr" href="https://www.deezer.com/fr/artist/1191615/top_track">
<link rel="alternate" hreflang="es" href="https://www.deezer.com/es/artist/1191615/top_track">

Но я не вижу, как создать цикл и отобразить все переведенные маршруты, которые у меня есть

В моем контроллере:

/**
     * Home page
     * @Route({"fr": "/accueil", "en": "/home", "es": "/casa"},
     *     name="index", methods="GET",
     *     requirements={"_locale" = "fr|en|es"},
     *     defaults = {"_locale" = "fr"})
     * @return Response
     * @throws \Exception
     */
    public function index(): Response
    {
        // Count advertisement total
        $count = $this->getDoctrine()->getRepository(Advertisement::class)->findByCount();
        // get all regions
        $regions = $this->getDoctrine()->getRepository(Region::class)->findAll();

        return $this->render('front/index.html.twig', [
            'count' => $count,
            'regions' => $regions
        ]);
    }

Если у вас есть решение, было бы неплохо помочь мне всем спасибо!

0
Crown Backend 22 Сен 2018 в 05:54

1 ответ

Лучший ответ

Вы можете использовать цикл for (см. https: / /twig.symfony.com/doc/2.x/tags/for.html)

Если langs представляет собой массив вроде:

$langs = [ "en", "fr", "es" ]

Вы можете создать цикл, используя:

{% for lang in langs %} 
<link rel="alternate" hreflang="{{ lang }}" href="https://www.deezer.com/{{ lang }}/artist/1191615/top_track">
{% endfor %}
3
F.Igor 22 Сен 2018 в 03:02