Bonjour,

Bonjour, j'essaye de générer un fichier XML le sitemap pour mon site

Ce que je fais

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class SitemapController extends AbstractController
{
    /**
     * @Route("sitemap.xml", name="sitemap", defaults={"_format"="xml"})
     * @param Request $request
     * @return Response
     */
    public function index(Request $request)
    {
        // Nous récupérons le nom d'hôte depuis l'URL
        $hostname = $request->getSchemeAndHttpHost();

        // On initialise un tableau pour lister les URLs
        $urls = [];

        // On ajoute les URLs "statiques"
        $urls[] = ['loc' => $this->generateUrl('website.index')];

        // Fabrication de la réponse XML
        $response = new Response(
            $this->renderView('sitemap/index.html.twig', [
                    'urls' => $urls,
                    'hostname' => $hostname]
            )
        );

        // Ajout des entêtes
        $response->headers->set('Content-Type', 'text/xml');

        // On envoie la réponse
        return $response;
    }
}

Le Fichier TWIG

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
    {# On boucle sur les URLs #}
    {% for url in urls %}
        <url>
            {# On vérifie si le nom d'hôte (hostname) est présent dans l'url #}
            {# Si il n'y est pas, on l'ajoute #}
            <loc>
                {%if url.loc|replace({hostname:''}) == url.loc%}
                    {{hostname}}{{url.loc}}
                {%else%}
                    {{url.loc}}
                {%endif%}
            </loc>

            {# Si il y a une date de modification #}
            {% if url.lastmod is defined %}
                <lastmod>{{url.lastmod}}</lastmod>
            {% endif %}

            {# Si il y a une fréquence de modification #}
            {% if url.changefreq is defined %}
                <changefreq>{{url.changefreq}}</changefreq>
            {% endif %}

            {# Si il y a une priorité #}
            {% if url.priority is defined %}
                <priority>{{url.priority}}</priority>
            {% endif %}

            {# Si il y a une image #}
            {% if url.image is defined and url.image is not empty %}
                <image:image>
                    <image:loc>{%if url.image.loc|replace({hostname:''}) == url.image.loc%}{{hostname}}{{url.image.loc}}{%else%}{{url.image.loc}}{%endif%}</image:loc>
                    <image:title>{{ url.image.title }}</image:title>
                </image:image>
            {% endif %}
        </url>
    {% endfor %}
</urlset>

Ce que je veux

L'affiche de mon xml quand je suis dans l'URL

Ce que j'obtiens

This page contains the following errors:
error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.

J'ai cette erreur rouge sur le lien merci pour votre aide

Aucune réponse