sur la page .../ecrire/?exec=suivi_revisions le fil RSS (icône orange a un bug). Le lien (.../spip.php?page=rss&op=revisions&id=1&lang=fr&cle=d4b66f8c&args=)
donne une page qui dit
« Erreur(s) dans le squelette : filtre « revisions_diff » non défini »
Oups, j'avais oublié que j'avais mis ça dans mon "mes_options".
[12492] devrait le résoudre.
Cela résout ce problème, mais il semble qu'il y a un autre avec le flux lui-même. Le " " ne passe pas.
Opera dit :
XML parsing failed: syntax error (Line: 18, Character: 18)
Reparse document as HTML
Error:well-formedness constraint: entity declared
Specification:Extensible Markup Language (XML) 1.0 (Fifth Edition)
15: <dc:format>text/html</dc:format>
16: <dc:language>fr</dc:language>
17: <dc:creator>webadmin <paolo2<span class="spancrypt"> </span>taize.fr></dc:creator>
18: <description>484 octets</description>
19: </item>
20: <item>
21: <title>Horaires de train</title>
http://feedvalidator.org/ dit:
"One solution that is widely supported is to replace the use of named entity references with their numerical equivalents. For example, use   or   instead of . ... Another approach is to make use of entity-encoded HTML. For example, use &nbsp instead of . In Atom, this requires the use of the type="html" attribute on the construct."
donne un liste d'articles en français, pas en anglais. (Et ce n'est pas les bons articles en français, non plus.) Tandis que
ecrire/?exec=suivi_revisions&lang_choisie=en
donne une toute autre liste.
../ecrire/?exec=suivi_revisions est bon et donne les dernières révisions toutes langues confondues, mais le lien (bouton RSS orange) en bas à gauche donne seulement les dernières révisions en anglais (peut-être parce que c'est la « langue principale » du site?).
Cela avec l'URL : spip.php?page=rss&op=revisions&id=1&lang=fr&cle=d4b66f8c&args=
D'ailleurs, même si on choisi une langue dans la page de l'espace privé, le flux RSS demeure toujours le même URL et donne toujours seulement les révisions en anglais.
Salut,
Après avoir reçu ton message, j'espérais regarder le problème ce soir. Mais voilà que tu m'a dévancé.
Ce que je ne comprends pas, c'est qu'il y a toujours 2 instances de "lang_choisie" dans le squelette. Et ce paramètre n'est pas dans l'URL. Et puis une fois "langue_choisie" (ou je pense cela devrait être "lang_choisie").
- - -
Si on change (ligne 12 du squelette) :
... langue_choisie=(#ENV{lang_choisie} ...
en
... lang_choisie=(#ENV{lang} ...
et ligne 14 à :
<language>[(#ENV{lang}|texte_backend)]</language>
Mais il y a un hic avec ce que je viens de proposer.
La liste à gauche, sur la page
.../ecrire/?exec=suivi_revisions
propose non seulement des séléctions par langue mais aussi des séléctions par rubrique.
Et le bouton RSS dans ces cas comporte un URL comme celui-ci :
ou 41 est le secteur, et "fr" est la "langue d'interface".
Je crois qu'il faudrait virer cette "lang=xx" de l'URL.
Dans le cas présent, comme 41 est un secteur contenant des articles en allemand. le lang=fr suffit pour que le flux RSS demeure toujours vide.
Tu as raison (ton autre mail) pour le lang_choisie que j'avais oublié de corriger.
Pour le problème d'avoir id_secteur et lang en même temps, c'est assez théorique: le bouton RSS est proposé dans le script suivi_revisions avec les mêmes arguments que ce script, qui n'est jamais appelé avec les 2 valeurs à la fois, je ne crois pas qu'il faille s'en soucier donc, ta modification me semble suffisante.
Pour le problème d'avoir id_secteur et lang en même temps, c'est assez théorique: le bouton RSS est proposé dans le script suivi_revisions avec
les mêmes arguments que ce script, qui n'est jamais appelé avec les 2 valeurs à la fois, je ne crois pas qu'il faille s'en soucier donc, ta modification me semble suffisante.
Je ne comprends pas. Sur notre site ce n'est pas théorique : Sur la page ecrire/?exec=suivi_revisions SPIP propose, à gauche, une liste de pages de révisions, chacune avec un bouton RSS.
Dans cette liste il y a d'abord les secteurs (dont les boutons RSS *ne marchent pas*),
et ensuite les langues (dont les boutons RSS marchent maintenant convenablement).
Je pense qu'une possibilité serait d'enlever le $spip_lang de ligne 1290 de inc/presentation.php ; mettre par exemple :
Sur la page ecrire/?exec=suivi_revisions SPIP propose, à gauche, une liste de pages de révisions, chacune avec un bouton RSS.
Dans cette liste il y a d'abord les secteurs (dont les boutons RSS *ne marchent pas*),
et ensuite les langues (dont les boutons RSS marchent maintenant convenablement).
Je pense qu'une possibilité serait d'enlever le $spip_lang de ligne 1290 de inc/presentation.php ; mettre par exemple :
SELECT versions.id_article, versions.id_version, FIELD(L1.statut,'prop','publie','prop') AS cpt1, versions.date, L1.titre, L1.lang
03 FROM spip_versions AS `versions`
04 INNER JOIN spip_articles AS L1 ON ( L1.id_article = versions.id_article )
05 WHERE (versions.id_version > 1)
06 AND (FIELD(L1.statut,'prop','publie','prop') <> 0)
07 AND (L1.lang = 'en')
08 AND (L1.id_secteur = 71)
09 GROUP BY versions.id_article,versions.id_version
10 ORDER BY versions.date DESC
11 LIMIT 0,10
Vois la ligne 07 -- une contrainte de langue (en = la langue principale du site chez moi) a été ajoutée. Je ne sais pas d'où elle vient.
Bon, j'ai re-regardé l'implémentation de la 1.9.2 et je comprends mieux les raisons du problème.
Dans la 1.9.2, il y avait 2 infos sur la langue passées dans les arguments du script action/rss de l'espace public:
- un argument "lang" toujours égal au $GLOBALS['spip_lang'] de l'espace privé
- pour certain cas, un sous-argument "lang_choisie" caché dans l'argument args
La mise en squelette de ces flux impose que "lang_choisie" apparaisse explicitement sous le nom "lang" dans l'URL d'appel du squelette, à cause des limitations du critère conditionnel en SPIP (cf. http://trac.rezo.net/trac/spip/changeset/12499) ce qui impose d'évacuer l'autre paramètre "lang" d'une manière ou d'une autre.
Est-ce que je me trompe en disant que ce $GLOBALS['spip_lang'] de l'espace privé vaut toujours la valeur du champ "lang" de l'auteur demandant le flux ? Si oui, il suffit de mettre le critère {lang_select} dans la boucle AUTEUR des nouveaux squelettes pour effectiver ne plus avoir besoin de passer l'ancien paramètre lang.
Est-ce que je me trompe en disant que ce $GLOBALS['spip_lang'] de l'espace privé vaut toujours la valeur du champ "lang" de l'auteur demandant le flux ?
Je ne sais pas. J'ai l'interface en français. Mais si lang=xx n'est pas dans l'URL, #ENV{lang} rend "en" (voir mon message précédent), ce qui n'est pas « ma langue d'interface » mais plutôt la « langue principale du site ».
Ah oui, c'est vrai que ce n'est pas la même chose, mais après tout ça me parait mieux de prendre la langue d'interface: pour un site ayant L pour langue principale avec deux admins ayant des langues d'interface différentes, la 1.9.2 force les deux admins à avoir le flux RSS en L, tandis qu'avec cette nouvelle implémentation ils l'auraient chacun dans leur langue. Ca me parait plus souple et plus logique puisque lorsqu'ils cliqueront sur le lien les menant à la page de l'espace privé proposé par le flux, ils seront accueillis dans leur langue d'interface, pas dans celle du site.
Chez moi ça semble marcher. Il faut vider le cache (puisque c'est ainsi maintenant pour les RSS) et on est bien d'accord qu'il s'agit des revision des articles d'un meme secteur, pas d'une meme rubrique ?