Projet

Général

Profil

Development #7141

Variantes de templates de cellule

Ajouté par Frédéric Péters il y a presque 9 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
05 mai 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

En alternative à un template_name, une cellule pourrait avoir un template_name_suffix, qui serait uni au slug de la cellule lors de la recherche d'un template (et si pas trouvé, fallback sans ajout de slug).

template_name_suffix = 'feed.html' → une cellule rss avec comme slug "foobar", il y aurait utilisation de foobar_feed.html. (attention parce qu'il doit y avoir composition avec le répertoire, i.e. template_name = 'combo/wcs/form_categories.html' → 'combo/wcs/sport_form_categories.html', genre; ça fait que le nom template_name_suffix doit probablement être évité, parce que pas tout à fait identique au template_name_suffix utilisé ailleurs dans django).


Fichiers

Révisions associées

Révision 760c7a24 (diff)
Ajouté par Frédéric Péters il y a plus de 7 ans

general: add support for varying cell template based on slug (#7141)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

Si on prend pour modèle l'admin Django la résolution passe par des répertoires, par exemple pour le template change_form.html c'est dans le l'ordre :

admin/<app_name>/<model_name>/change_form.html
admin/<app_name>/change_form.html
admin/change_form.html

Est-ce qu'on ne pourrait pas juste donner un template name et résoudre par exemple dans cet ordre:

combo/pages/<page_slug>/<cell_slug>/template_name.html
combo/cells/<cell_slug>/template_name.html
combo/pages/<page_slug>/template_name.html
combo/template_name.html
#2

Mis à jour par Pierre Cros il y a presque 8 ans

Fred me pointe ce ticket quand je réclame de pouvoir choisir dans une cellule combo de type "démarches d'une catégorie" si elle affiche ou pas la liste des démarches. Je veux bien régler ça par un suffixe au slug, c'est mieux que rien.

#4

Mis à jour par Frédéric Péters il y a plus de 7 ans

Voilà sur l'idée de Benjamin, mais uniquement avec les slugs pour le moment (pas les pages).

Aussi il n'est plus nécessaire de préciser un template_name dans le modèle, il prendra alors automatiquement $(model name).html.

L'ordre complet est le suivant :

  • combo/$(app)/cells/$(slug)/basename.html
  • combo/cells/$(slug)/basename.html
  • template_name (qui aujourd'hui contient une partie répertoire, genre combo/text-cell.html, ou lingo/combo/items.html)
  • combo/ + model_name + '.html'

basename est construit à partir de template_name quand il existe, à partir de model_name sinon.

#5

Mis à jour par Thomas Noël il y a plus de 7 ans

je n'arrive pas à voir l'utilité des répertoires par «app_label» ... tu as un exemple en tête ?

#6

Mis à jour par Frédéric Péters il y a plus de 7 ans

C'est surtout pour suivre la pratique actuelle, où on a des combo/fargo/recent-documents-cell.html, combo/wcs/current_drafts.html, etc. Ça ferait bizarre, je trouve, d'avoir combo/wcs/current_drafts.html et une version "custom" qui ne soit pas sous combo/wcs/

#7

Mis à jour par Frédéric Péters il y a plus de 7 ans

Mais à réfléchir, c'est mieux de ne pas multiplier les chemins possibles, et de petit à petit simplifier et uniformiser.

#8

Mis à jour par Thomas Noël il y a plus de 7 ans

Ack

Pour mémoire, discussion xmpp:

Thomas: en vérité, ça me fait bizarre d'utiliser les slug comme différenciateur 15:08:50
Thomas: pour dire le fond de ma pensée : j'aurai préféré que quand on choisi une cellule s'affiche une liste des thèmes possibles
Frédéric: oh, je trouve ça très bien, et bien plus légitime qu'utiliser les slugs pour espérer une classe css.
Thomas: ce qui m'ennuie c'est que les slug, personne ne les verra lister nulle part, ça sera de la doc un peu cachée
Frédéric: oui, faire remonter une liste depuis le thème, somehow. -- mais c'est bien plus compliqué que juste un slug
Thomas: oui oui -- sauf à imaginer un settings, et on veut pas
Frédéric: au build de publik-base-theme, il pourrait y avoir recherche des répertoires nommés "cells", décorticage de ce qu'il y a dedans, et puis ça serait mis "quelque part" -- c'est un peu comme les classes css, ça fait longtemps que dans wcs j'aimerais pouvoir faire remonter du thème la série de classes "spéciales".
Thomas: ouaip. Et puis bon, en première approche, cette utilisation des slugs, ça peut être une première voie ; on verra à l'usage si on a besoin d'un attribut "template" plus explicite, plus tard

#9

Mis à jour par Frédéric Péters il y a plus de 7 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 760c7a2487ecb26e357c591a0f537a30e0e9c431
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Sep 29 15:30:03 2016 +0200

    general: add support for varying cell template based on slug (#7141)
#10

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF