Ancres des notes de bas de page pour les URL arborescente
#3882
Closed
opened 6 years ago by Yohooo
·
14 comments
No Branch/Tag Specified
1.8
1.9.1
1.9.2
2.0
2.1
3.0
3.1
3.2
4.0
4.1
4.2
boutons-danger
coquille_doc
debug_ecrire_fichier
dev-sortable
dev/autoloader
dev/hasard_fixe
dev/instituer_ergo
dev/issue_4626_menu_squelettes
dev/issue_5496_intro_ligne_null
dev_infos_image
fix/valider_url_distante
fix_issue_5454
fix_modifier_login
issue_4101
issue_4678
issue_4705
issue_4717
issue_4836
issue_4946
issue_5095
issue_5344
issue_5427_bis
master
refactor_extraire_balises
v1.8.3+b
v1.9.1+i
v1.9.2+f
v1.9.2+g
v1.9.2+h
v1.9.2+i
v1.9.2+j
v1.9.2+k
v1.9.2+m
v1.9.2+n
v1.9.2+o
v1.9.2+p
v2.0.0
v2.0.1
v2.0.10
v2.0.11
v2.0.12
v2.0.13
v2.0.14
v2.0.15
v2.0.16
v2.0.17
v2.0.18
v2.0.19
v2.0.2
v2.0.20
v2.0.21
v2.0.22
v2.0.23
v2.0.24
v2.0.25
v2.0.26
v2.0.3
v2.0.5
v2.0.6
v2.0.7
v2.0.8
v2.0.9
v2.1.0
v2.1.1
v2.1.10
v2.1.11
v2.1.12
v2.1.13
v2.1.14
v2.1.15
v2.1.16
v2.1.17
v2.1.18
v2.1.19
v2.1.2
v2.1.20
v2.1.21
v2.1.22
v2.1.23
v2.1.24
v2.1.25
v2.1.26
v2.1.27
v2.1.28
v2.1.29
v2.1.3
v2.1.30
v2.1.4
v2.1.5
v2.1.6
v2.1.7
v2.1.8
v2.1.9
v3.0.0
v3.0.0-alpha.1
v3.0.0-beta
v3.0.0-beta.2
v3.0.0-rc
v3.0.1
v3.0.10
v3.0.11
v3.0.12
v3.0.13
v3.0.14
v3.0.15
v3.0.16
v3.0.17
v3.0.18
v3.0.19
v3.0.2
v3.0.20
v3.0.21
v3.0.22
v3.0.23
v3.0.24
v3.0.25
v3.0.26
v3.0.27
v3.0.28
v3.0.3
v3.0.4
v3.0.5
v3.0.6
v3.0.7
v3.0.8
v3.0.9
v3.1.0
v3.1.0-alpha
v3.1.0-beta
v3.1.0-rc
v3.1.0-rc.2
v3.1.0-rc.3
v3.1.1
v3.1.10
v3.1.11
v3.1.12
v3.1.13
v3.1.14
v3.1.15
v3.1.2
v3.1.3
v3.1.4
v3.1.5
v3.1.6
v3.1.7
v3.1.8
v3.1.9
v3.2-alpha.1
v3.2.0
v3.2.0-alpha.1
v3.2.0-beta
v3.2.0-beta.2
v3.2.0-beta.3
v3.2.1
v3.2.10
v3.2.11
v3.2.12
v3.2.13
v3.2.14
v3.2.15
v3.2.16
v3.2.17
v3.2.18
v3.2.19
v3.2.2
v3.2.3
v3.2.4
v3.2.5
v3.2.6
v3.2.7
v3.2.8
v3.2.9
v4.0.0
v4.0.0-alpha
v4.0.0-beta
v4.0.1
v4.0.10
v4.0.11
v4.0.2
v4.0.3
v4.0.4
v4.0.5
v4.0.6
v4.0.7
v4.0.8
v4.0.9
v4.1.0
v4.1.0-alpha
v4.1.0-beta
v4.1.0-rc
v4.1.1
v4.1.2
v4.1.3
v4.1.4
v4.1.5
v4.1.6
v4.1.7
v4.1.8
v4.1.9
v4.2.0
v4.2.0-alpha
v4.2.0-alpha2
v4.2.1
v4.2.2
Labels
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
Apply labels
Clear labels
accessibilité
amélioration
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
No Label
accessibilité
amélioration
APIs
authentification
base de données
bug
code généré
compilo
css
divers
documentation
doublon
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
sécurité
traduction
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
This issue currently doesn't have any dependencies.
Reference in new issue
There is no content yet.
Delete Branch '%!s(MISSING)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Lorsque les URL arborescentes sont activées, les ancres générées par Spip (donc, aussi des notes de bas de pages ) pointent vers l'URL de base.
Cela est dû à l'ajout de la balise "bsae href" dans le head
Dans ce cas, les ancres générées par Spip doivent donc pointer vers : #URL_SITE_SPIP/[ma_page]/#[mon_ancre]
Salut, quelle version de SPIP ? As-tu une url à partager pour décortiquer le problème ?
La dernière version de spip.
Visible sur plusieurs sites.
J'ai pris l'habitude de corriger le pb en ajoutant un filtre :
... sur les balises #TEXTE, #NOTES et #CHAPO
Oui, mais lesquels ? :)
Sur SPIP 3.2 dev avec les urls arbos, sur l'url
http://localhost/trunk/actualites/article/notes-de-bas-de-page
:<base href="http://localhost/trunk/" />
http://localhost/trunk/actualites/article/notes-de-bas-de-page#nb1
et elle est bien fonctionnelle=> ça marche chez moi ©
Version cible mise à 3.1
Statut changé à En cours
Problème rencontré sous spip 3.1
Un exemple sur cet article avec les notes de bas de page :
http://vps321533.ovh.net/aide-a-destination-des-redacteurs/article/quelques-exemples-de-raccourcis
Les ancres du sommaire (généré via le plugin) et des notes de bas de page fonctionnent grâce à 2 filtres insérés derrière les balises #TEXTE, #CHAPO et #NOTES :
Je me rappelle avoir rencontré le même type de problème sur d'autres site si bien que j'ai pris l'habitude d'ajouter les filtres ci dessus sur mes balises texte. J'ai essayé de re-soulever le capot après m'être rendu compte que le premier filtre ne marchait pas avec les ancres remontantes du plugin sommaire d'article n'était pas corrigé. C'est pour cela que j'ai ajouté un deuxieme filtre.
Sur le Forum de Spip, certains rencontrent ce problème à plusieurs reprise sans autre solution que de changer de type d'URL ou de supprimer le la balise "base href" :
J'ai oublié une config ou c'est un dysfonctionnement de Spip ?
Laurent Lefebvre a écrit :
Je viens de tester sur SPIP 3.1.3 avec Plugin Table des matières 2.3.3, je ne reproduis pas le problème...
Tu as tout désactivé puis réactivé 1 par 1 pour voir ?
En fait dans ta description initiale, il y a un truc qui ne va pas:
Euh, non: ce que cette balise fait c'est de dire au navigateur "si tu trouves une URL relative, sache que tu dois y référer via "href=...", ça ne devrait pas supprimer l'URI arbo relatives (et ça ne le fait pas chez moi)
Euh non, plutôt vers unrep/unautrerep/article/titrearticle#ancre
La disparition de l'uri relative n'est pas normale.
Quels sont les "autres problèmes" que tu évoques quand tu supprimes le base href ?
SPIP s'occupe de changer automatiquement les URLs de type ancre dès lors qu'on utilise des URLs aborescentes.
ça se passe là :
https://core.spip.net/projects/spip/repository/entry/spip/ecrire/public/assembler.php#L663
Il n'est nécessaire de passer aucun filtre sur les texte ou notes etc, c'est géré automatiquement par SPIP
Statut changé à Fermé
Je ne suis pas sur que cela soit totalement réglé ....
voir aussi: http://forum.spip.net/fr_251075.html
Je viens de tester:
les balises notes générées par le raccourci
[[ ...]]
, les urls générées sont en relatifs et non en absolueset donc cela renvoie sur la page d'accueil au lieu de la page courante
Bonsoir,
Alors, j'ai un peu creusé, et en fait ça dépend directement de la structure du squelette de base.
Il faut que #TEXTE et #NOTE soient dans le même fichier de squelette que </head>
Ça doit être quelque chose du côté de https://core.spip.net/projects/spip/repository/entry/spip/ecrire/public/assembler.php#L696
D'ailleurs, si :
ça marche !
En espérant que ça permette de circonscrire le bug.
J'ai essayé de comprendre la fonction. J'ai l'impression qu'elle essaye de poser le et de réécrire les ancres dans le même temps. D'où le bug quand ça devrait être fait dans 2 squelettes différents.
J'oubliais : j'ai testé ça avec la version Git 4.0 à jour.
Mais j'ai le bug aussi en 3.2
Et fichiers pour tester.
Il s'agit de squelettes-dist/article.html éclaté en 2 parties. À placer dans squelettes/
Ça marche chez moi (tm) en prod depuis des années, avec un squelette Z (donc le head et les #NOTES ne sont pas du tout dans un même fichier), donc non, c'est un peu plus compliqué que ça
La fonction
page_base_href()
est appelée dans https://git.spip.net/spip/spip/src/branch/master/ecrire/public/evaluer_page.php#L96 donc pour chaque inclusion, et aussi avant l'affichage final https://git.spip.net/spip/spip/src/branch/master/ecrire/public.php#L157Mais de fait, en relisant le code il semble qu'on puisse être mis en echec si le base est inséré trop tot, car ensuite ça ne fonctionne plus
Peux tu essayer ce patch ?
ou si tu préfères le code intégral de la fonction corrigée :
Merveilleux Cédric !
J'ai testé en 4.0 et en 3.2.11 (merci pour le code complet que j'ai copié/collé à la place de l'ancien dans les 2 versions de SPIP) et ça corrige les ancres en url arbo.
Merci à toi.