Development #74526
Filtre |with_template, unicité de l'id du libellé d'un champ
0%
Description
Dans templates/gadjo/widget.html
,
<div class="title" id="{{ field.name }}">
Si on utilise ce filtre pour afficher le formulaire d'une cellule combo ça donne id="id_du_champ"
, et si on ajoute une cellule identique alors on a la même div avec le même id dans le formulaire de la nouvelle cellule.
Les cellules combo sont conscientes de ça et ajoutent un préfixe aux champs du formulaire. Dans le rendu django, ça utilise field.id_for_label
qui donne nom_cellule-42_id_du_champ
, pas de problème.
Est-ce que ça paraît OK de remplacer {{ field.name }}
dans la ligne sus-citée par genre {{ field.id_for_label }}_title
?
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ un an
Il y aura sans doute à vérifier css/js, que nulle part les id actuels sont référencés, et si c'est le cas les mettre à jour en même temps, mais sur le fond sûr ok pour ce changement.
Mis à jour par Valentin Deniaud il y a environ un an
- Fichier 0001-templates-use-field.id_for_label-in-field-title-id-a.patch 0001-templates-use-field.id_for_label-in-field-title-id-a.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
- Niveau CSS/JS générique (pbt) ont est quasi sûrs de ne pas avoir de problème, on parle d'un id qui est généré à partir du nom d'un champ donc le code qui pourrait le cibler est forcément à proximité d'un formulaire, dans une brique.
- Pour afficher/masquer un champ les sélecteurs vont se baser sur la div parente et pas sur la div du titre, par ex templates/authentic2/authenticators/authenticator_add_form.html, donc normalement pas de problème.
Sauf dans un cas où le div parente n'a pas d'id... Ce qui est un bug que je traite à part dans #74541.
Et donc de ce cas découle un unique usage où du JS dépend de l'id du titre, que je corrige indépendamment de ce patch (#74539).
Mis à jour par Frédéric Péters il y a environ un an
- Statut changé de Solution proposée à Solution validée
C'est ok (tape le patch en PR si tu veux).
Mis à jour par Valentin Deniaud il y a environ un an
- Statut changé de Solution validée à Résolu (à déployer)
commit 45bac77a2652a78df41519133287939d65eb22df Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Feb 15 12:14:21 2023 +0100 templates: use field.id_for_label in field title id attribute (#74526)
Mis à jour par Transition automatique il y a environ un an
- Statut changé de Résolu (à déployer) à Solution déployée
templates: use field.id_for_label in field title id attribute (#74526)