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