Fichier backend pour flux RSS multilingue

Bonjour,

Je viens de me rendre compte que mon fichier backend.html pour le flux RSS ne concerne que la partie FR du site.

Pourtant, il existe aussi des versions IT et EN du site.

Quand je vais dans Publication → Suivre la vie du site, je vois bien qu’il y a un flux RSS par langue.
En bas de page, les URL sont de la forme :

  • ?page=backend&id_rubrique=1 (FR)

  • ?page=backend&id_rubrique=2 (IT)

  • ?page=backend&id_rubrique=3 (EN)

Le problème :
Seule l’URL avec id_rubrique=1 (FR) me retourne une liste d’articles.
Les autres (id_rubrique=2 et 3) n’affichent aucun article.

Comment puis-je corriger cela ?
Dois-je créer un fichier backend.html par langue ?
Ou est-il possible de modifier le fichier existant (j’ai simplement copié celui de la dist dans mon dossier squelettes) ?

Merci d’avance pour votre aide !

Et en mettant ?page=backend&id_rubrique=3&lang=en ?

1 « J'aime »

Oui RealET, en effet, je retrouve bien la liste des articles en EN ou IT, selon le cas.
Cependant, je remarque que les liens proposés mènent à une page blanche, avec uniquement le header et le footer affichés du site.

Et si tu donnais l’url du site ?

Ça nous permettrait de mieux comprendre ce qui se passe :wink:

Ah ah pardon, c’est pas faux :

https://www.chrysleg.fr/spip.php?page=backend&id_rubrique=2&lang=en

Merci

A priori, tu utilises forcer_lang dans mes_options.

Ce qui veut dire que le contenu s’affiche en fonction du cookie de langue.

Il faudrait donc que tes urls dans le flux RSS aient en paramètre la langue demandée, en plus de l’url.

Si le site est affichée ne français :

  • https://www.chrysleg.fr/Eric-Mula-a-Virtuoso-Trumpeter-at-the-Heart-of-the-Scene ne marche pas
  • https://www.chrysleg.fr/Eric-Mula-a-Virtuoso-Trumpeter-at-the-Heart-of-the-Scene?lang=en marche
1 « J'aime »

Merci RealET pour m’avoir mis sur la piste, voici ce que j’ai fais dans les fichiers backend et inc-rss-item que j’ai copié dans Squelettes :

Fichier Backend.html, j’ai changé ces lignes :

<link>[(#URL_SITE_SPIP|parametre_url{'lang', #ENV{lang}})]</link>

<atom:link href="[(#SELF|url_absolue|parametre_url{'lang', #ENV{lang}})]" rel="self" type="application/rss+xml" />

[<image>
	<title>[(#NOM_SITE_SPIP|texte_backend)]</title>
	<url>(#LOGO_SITE_SPIP
		|image_reduire{144,400}
		|extraire_attribut{src}
		|url_absolue
		|parametre_url{'lang', #ENV{lang}}
		|texte_backend)</url>
	<link>[(#URL_SITE_SPIP|parametre_url{'lang', #ENV{lang}})]</link>
	[<height>(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{height})</height>]
	[<width>(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{width})</width>]
</image>]

Dans le fichier inc-rss-item.html, j’ai changé ces lignes :

<link>[(#URL_ARTICLE|parametre_url{'lang', #ENV{lang}})]</link>

<guid isPermaLink="true">[(#URL_ARTICLE|parametre_url{'lang', #ENV{lang}})]</guid>

En ajoutant comme tu me l’as conseillé &lang=it en fin url cela fonctionne très bien.

1 « J'aime »