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