Development #72598
Refacto du template user-info.html permettant les surcharges
0%
Description
J'ai tenté une surcharge de user-info pour le CD06 : https://gitea.entrouvert.org/entrouvert/publik-base-theme/src/branch/main/templates/variants/alpes-maritimes-2022/includes/user-info.html
Dans cet exemple la surcharge concerne le menu "connecté / logged-in" pour wrapper du code sur l'existant
Exemple simplifié de surcharge :
{% extends "includes/user-info.html" %} {% block user-info %} {% if user.is_authenticated %} <div class="du-code-autour"> <h2>Je suis connecté</h2> {{ block.super }} </div> {% else %} {{ block.super }} {% endif %} {% endblock %}
Sur les pages wcs et a2, `{{ user.is_authenticated }}` n'existe pas et le template ne sera pas rendu. Pour que user retourne la bonne valeur il faut l'inclure au sein d'un skeleton :
{% extends "includes/user-info.html" %} {% block user-info %} + {% skeleton_extra_placeholder user-info %} {% if user.is_authenticated %} <div class="du-code-autour"> <h2>Je suis connecté</h2> {{ block.super }} </div> {% else %} {{ block.super }} {% endif %} + {% end_skeleton_extra_placeholder %} {% endblock %}
Mais dans ce cas, `{{ block.super }}` n'existe plus.
Après échange avec Serghei, pour permettre les surcharges, une solution serait de déplacer les templates `login` et `logged-in` dans un include :
{% block user-info %} {% skeleton_extra_placeholder user-info %} {% if user.is_authenticated %} {% include "includes/user-info-logged-in.html" %} {% else %} {% include "includes/user-info-login.html" %} {% endif %} {% end_skeleton_extra_placeholder %} {% endblock %}
Demandes liées
Révisions associées
metz-metropole-2019: remove user-info skeleton (#72598)
grandlyon-glc: remove user-info skeleton-extra-placeholder (#72598)
lille-metropole-2022: remove assets library from user-info template (#72598)
rouen: remove user-info skeleton-extra-placeholder (#72598)
alpes-maritimes-2022: extend block logged-in inside user-info tpl (#72598)
villeneuve-dascq: remove user-info skeleton-extra-placeholder (#72598)
toulouse-2022: simplify user-info template (#72598)
extend only login block
Historique
Mis à jour par Frédéric Péters il y a plus d'un an
une solution serait de déplacer les templates `login` et `logged-in`
Par "templates" ici tu fais reférences aux <span class="logged-in"> et <span class="login">.
~~
Je ne sais pas s'il y a quoique ce soit à gagner ici à faire ça de manière globale; le seul petit bout que tu gagnes actuellement dans le gabarit lié c'est ne pas réécrire <div id="toplinks">. Pour si peu, autant gérer totalement comme tu l'entends ton gabarit, je ne capte pas le gain à modifier le gabarit de base.
Mis à jour par Thomas Jund il y a plus d'un an
le seul petit bout que tu gagnes actuellement dans le gabarit lié c'est ne pas réécrire <div id="toplinks">
On gagne le pouvoir de surcharger le template, de quelque manière que ce soit. En l'état actuel aucune surcharge/modification n'est possible.
Avec cette solution, non seulement les surcharges & block optionnels deviennent possibles, mais en plus on pourra supprimer les templates `user-info-*-label` qui ne serviront plus.
Mis à jour par Frédéric Péters il y a plus d'un an
J'ai peut-être du mal à imaginer les choses, ce que je lis ça complique pour moi les choses.
Le propos ne serait pas juste de :
--- a/templates/combo/page_template.html +++ b/templates/combo/page_template.html @@ -149,7 +149,9 @@ {% endblock %} {% block top-links %} + {% skeleton_extra_placeholder xxx %} {% include 'includes/user-info.html' %} + {% end_skeleton_extra_placeholder %} {% endblock %}
Mis à jour par Thomas Jund il y a plus d'un an
Pas pensé à cette approche qui semble en effet plus simple. Je pars là-dessus.
Mis à jour par Robot Gitea il y a plus d'un an
- Statut changé de Nouveau à En cours
Thomas Jund (tjund) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://gitea.entrouvert.org/entrouvert/publik-base-theme/pulls/85
- Titre : WIP: Refacto du template user-info.html permettant les surcharges (#72598)
- Modifications : https://gitea.entrouvert.org/entrouvert/publik-base-theme/pulls/85/files
Mis à jour par Thomas Jund il y a plus d'un an
- Assigné à changé de Thomas Jund à Benjamin Dauvergne
Je coince sur les templates qui {% load %} des librairies au sein du template user-info.
Avec le skeleton-extra-placeholder autour de l'include, certaines libarairies ne sont pas dispo côté a2 ou wcs, comme `assets`.
Par exemple surcharge MEL 2022 :
{% extends "includes/user-info.html" %} {% load assets %} {% block user-info %} {{ block.super }} {% get_asset "mel:logo" as mel_logo %} {% if mel_link and mel_logo %} <div class="mel-link-wrapper"> <a href="{{ mel_link }}"> <img src="{{site_base}}{% asset_url mel_logo %}" alt="MEL" /> </a> </div> {% endif %} {% endblock %}
Retour à la première proposition avec 2 includes ?
Mis à jour par Frédéric Péters il y a plus d'un an
- Assigné à changé de Benjamin Dauvergne à Thomas Jund
Mis à jour par Robot Gitea il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Serghei Mihai (smihai) a approuvé une pull request sur Gitea concernant cette demande :
- URL : https://gitea.entrouvert.org/entrouvert/publik-base-theme/pulls/85
- Commentaire :
N/A
Mis à jour par Robot Gitea il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
Thomas Jund (tjund) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://gitea.entrouvert.org/entrouvert/publik-base-theme/pulls/85
- Titre : Refacto du template user-info.html permettant les surcharges (#72598)
- Modifications : https://gitea.entrouvert.org/entrouvert/publik-base-theme/pulls/85/files
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Nicolas Roche il y a plus d'un an
- Lié à Bug #73078: toulouse-2022: l'utilisateur connecté n'est pas détecté dans les toplinks dans le bandeau sur w.c.s ajouté
Mis à jour par Frédéric Péters il y a environ 2 mois
- Lié à Bug #73782: le changement {% include user_info.html %} casse les liens de connexion affichés sur la page 404 ajouté
template: make user-info template extendable (#72598)