Template overrides
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
// Toutes les vues (CRUD complet)
t.with_dashboard("admin/mon_dashboard.html")
t.with_list("admin/mon_list.html")
t.with_create("admin/mon_create.html")
t.with_edit("admin/mon_edit.html")
t.with_detail("admin/mon_detail.html")
t.with_delete("admin/mon_delete.html")
// Vues d'interface globales
t.with_login("admin/mon_login.html")
t.with_base("admin/mon_base.html")
Clés injectées par Runique (obligatoires)
// Pour le dashboard :
{{ site_title }} // titre configuré dans .site_title()
{{ resources }} // liste des ressources
{{ admin_dashboard_title }} // trad i18n
// Pour la vue list (obligatoires) :
{{ entries }} // la pagination des entrées json
{{ visible_columns }} // les infos du tableau
{{ sort_by }} // la colonne triée
// (+ total, page, page_count, has_prev, sort_dir...)
// Liste détaillée de chaque vue dans la documentation !
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