Admin Runique
Documentation / Admin Runique / Système de templates admin

Système de templates admin

Hiérarchie

admin/admin_template.html   ← contrat : <head>, meta CSRF, csrf.js, fenêtre modale
        ↓ extends
admin_base.html             ← layout : feuilles de style, barre latérale, barre du haut
        ↓ extends
admin/list.html, admin/create.html …   ← les pages, faites de blocs

admin/admin_template.html : le squelette HTML et ce qui doit toujours être là. Ne se remplace pas.

admin_base.html : le layout. Il ne se remplace pas d'un bloc : on en change la barre latérale et la barre du haut par leurs blocs (GlobalBlock::Sidebar, GlobalBlock::Topbar), et ses feuilles de style par les surcharges de CSS.

Les pages : chacune est faite de blocs remplaçables ({% dev_block "nom" %}). On remplace un bloc, ou la page entière, pour tous les modèles ou pour un seul. Voir Surcharge.


Blocs Tera du squelette

Une page qui étend admin_base.html (ou admin/admin_template.html) peut redéfinir :

BlocRôle
{% block lang %}La balise <html lang>
{% block title %}Titre de la page (<title>)
{% block extra_css %}Feuilles de style dans <head> : admin_base.html y écrit celles de la page, garder {{ super() }}
{% block layout %}Tout le layout (barre latérale + zone principale)
{% block sidebar %}Barre latérale
{% block topbar %}Barre du haut (contient breadcrumb)
{% block breadcrumb %}Fil d'Ariane
{% block messages %}Messages flash, contient {% messages %}
{% block content %}Contenu de la page
{% block extra_js %}Scripts avant </body> : admin_base.html y met ceux de l'admin, garder {{ super() }}
{% block footer %}Pied de page

Hors blocs (toujours présents)

Écrits directement dans admin/admin_template.html, aucune surcharge ne les retire (sauf une page qui n'étend rien) :

  • <meta name="csrf-token" content="{{ csrf_token }}"> et <meta name="robots" content="noindex, nofollow"> dans <head>
  • <script src="{% runique_static "js/csrf.js" %}" defer></script> avant </body>
  • la fenêtre modale de confirmation

Sous-sections

SectionDescription
Clés de contextevariables injectées par le backend dans chaque template
Surchargeremplacer un bloc (HTML, CSS ou les deux) ou une page entière

Revenir au menu