Développement #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
?
Files
Associated revisions
History
Updated by Frédéric Péters almost 2 years ago
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.
Updated by Valentin Deniaud almost 2 years ago
- File 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 added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
- 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).
Updated by Frédéric Péters almost 2 years ago
- Status changed from Solution proposée to Solution validée
C'est ok (tape le patch en PR si tu veux).
Updated by Valentin Deniaud almost 2 years ago
- Status changed from Solution validée to 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)
Updated by Transition automatique almost 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
templates: use field.id_for_label in field title id attribute (#74526)