Logo

Surcharge de templates

Remplacer les templates par défaut de l'admin par les vôtres. (fonctionnalité beta)

Surcharge dans main.rs
builder::new(config)
    .with_admin(|a| {
        a.site_title("Administration")
         .auth(RuniqueAdminAuth::new())
         .routes(admins::routes("/admin"))
         .templates(|t| {
             t.with_dashboard("admin/mon_dashboard.html")
         })
         .with_state(admins::admin_state())
    })
Exemple utilisé dans cette démo
builder::new(config)
    .with_admin(|a| {
        a.site_title("Administration")
         .auth(RuniqueAdminAuth::new())
         .routes(admins::routes("/admin"))
         .templates(|t| t.with_dashboard("admin/test_dashboard.html"))
         .with_state(admins::admin_state())
    })
Templates surchargeables
// Dashboard principal
t.with_dashboard("mon_dashboard.html")

// À venir (beta) :
// t.with_list("mon_list.html")
// t.with_form("mon_form.html")
Clés injectées par Runique (obligatoires)
// Votre template doit étendre le template admin de base.
// Ces clés sont injectées automatiquement par Runique.
{% extends "admin/admin_template" %}

{{ site_title }}       // titre configuré dans .site_title()
{{ site_url }}         // URL de base
{{ resources }}        // liste des ressources (key, title, permissions)
{{ resource_counts }}   // nb d'entrées par ressource
{{ lang }}             // code langue actif (ex: "fr")
Blocks Tera surchargeables
// Blocks disponibles dans admin/admin_template
{% block extra_css %}{% endblock %}   // styles CSS additionnels
{% block title %}{% endblock %}       // titre de l'onglet
{% block breadcrumb %}{% endblock %}  // fil d'ariane
{% block content %}{% endblock %}     // contenu principal
{% block sidebar %}{% endblock %}     // barre latérale
{% block topbar %}{% endblock %}      // barre du haut
{% block messages %}{% endblock %}    // messages flash
{% block extra_js %}{% endblock %}    // scripts JS additionnels
{% block footer %}{% endblock %}      // pied de page
Clés supplémentaires via with_state()
// Données custom passées via extra_context dans admin_state().
// Ex : utilisateur connecté, stats métier, etc.
{{ resource_counts[resource.key] }}  // exemple démo
Exemple concret
// Le dashboard affiché dans la vue admin de cette démo
// est lui-même un template de surcharge.
// demo-app/templates/admin/test_dashboard.html
Voir sur GitHub