[spip-dev] Espace privé : liens vers forums

Dans le privé de spip, la plupart des liens qui mènent vers un forum précis
sont erronés.

Parfois ils marchent quand même temporairement
parce que le n° de page est indiqué en plus et qu'il y a l'ancre vers le forum précis.
C'est pour ça probablement que ce bug n'a pas trop gêné.
Mais 1 mois aprés, il y a eu de nouveaux forums et ce n'est plus la même page,
et il y à d'autres endroits où il n'y a pas ce numéro de page
et le lien ne marche pas du tout, on ne trouve aucune trace du forum visé.

Le pb vient du fait que c'est debut_forum=@1234 qui est employé en 6 endroits,
au lieu de debut_forums=@1234 (avec un s en plus).
Il y a aussi un endroit où il manque le @

La réparation est simple : il suffit de remplacer debut_forum par debut_forums
Ticket et patch ici : https://core.spip.net/issues/4282

JLuc

j’ai envie de dire « mais d’où ce s vient-il » ?

On a pas de s à la table spip_forum ni à la boucle FORUM, parce que le pluriel de forum est sujet à débat, à l’origine plutôt invariable, même si il semble que l’usage ait évolué (http://langue-fr.net/Forum-et-son-pluriel)

Quoi qu’il en soit un peu de cohérence ne nuit pas, et dans la mesure où l’on a pris le parti historique de considérer forum comme invariant, il faudrait s’y tenir et voir par quel miracle un s est arrivé sur cette BOUCLE_forums, entrainant un s dans la pagination et cassant par là même tous les liens référents.

Ou juste retirer ce s et revenir à l’état initial sans chercher à blâmer qui que ce soit ?

Bonjour,

J'ai considéré qu'il fallait un s car avec un s ça marche, et aussi parce qu'alors
l'erreur ne concerne que les liens de pagination vers un forum précis : ceux qui ont @ ,
et il me souvient que ce feature avait été introduit plus tard que les paginations de base.

Sinon effectivement on pourrait aussi considérer qu'il ne faut jamais de s,
mans ce cas, il faudra aussi corriger ailleurs sûrement :
le code de balise_PAGINATION_dist, ou la déclaration de la table FORUM
ou peut être la compilation du critère {pagination} ?

JL

Non, c’est juste le nom de la boucle dans le squelette : tout le reste en découle.
Mon propos c’est que ces liens de pagination indirecte fonctionnaient quand ils ont été mis en place, donc je suspecte juste que le nom de la boucle a été changée dans le squelette, d’où le bug.

Et c’est donc visiblement cassé depuis février 2015, par moi-même :stuck_out_tongue:
https://zone.spip.net/trac/spip-zone/changeset/87494/spip-zone

L'autre manière de corriger serait donc de renommer cette boucle en _forum sans s,
comme à ses origines, laisser les debut_forum et enlever les s des debut_forums

JL

Je pense que si tu renomme la boucle en _forum dans le s, tout sera corrigé, car les seuls liens en &debut_forums sont les liens de pagniation normale générée par la balise #PAGINATION et vont être renommé automatiquement.
Les seuls liens qui explicitent le nom de la boucle sont les liens de pagination indirecte avec un @

On pourrait aussi laisser la boucle telle quelle, mais expliciter le nom de la pagination dans le critère pagination, sans le s donc, pour montrer que le nom est important et ne doit pas bouger et eviter de refaire la même erreur…

OK tu as commité le fix. Merci.

Dans le ticket je soumet une autre petite correction que tu n'as pas intégré :
il manque un @ dans prive/objets/liste/forums.html ici
<a href="[(#URL_ECRIRE{controler_forum,debut_forum=#ID_FORUM})]">#ID_FORUM</a>

dsl de pas l'avoir évoqué ici aussi
JL

En effet ! Je te laisse corriger ?

En effet ! Je te laisse corriger ?

Non, je n'arrive pas à m'y retrouver avec les adresses SVN des plugins dist.
L'aide mémoire élaboré au fil des années [OBSOLETE] La Zone SVN Facile
ne m'aide pas car les différentes branches ont l'air éparpillées à différents endroits.

Par ailleurs, les plugins ne sont pas sur SPIP · GitHub (dist ou pas dist)
et sur git.spip.net, je n'ai pas réussi à commiter sur forum
(ou à proposer une PR ? je me souviens plus de mes derniers essais)

JLuc

Ok c'est fait.
Merci de nouveau.
JL