Template overrides

Override the default admin templates with your own. (beta feature)

Override in 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())
    })
Example used in this demo
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())
    })
Overridable templates
// All views (full CRUD)
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")

// Global interface views
t.with_login("admin/mon_login.html")
t.with_base("admin/mon_base.html")
Keys injected by Runique (required)
// For the dashboard:
{{ site_title }}       // titre configuré dans .site_title()
{{ resources }}        // liste des ressources
{{ admin_dashboard_title }} // i18n translation

// For the list view (required):
{{ entries }}          // paginated json entries
{{ visible_columns }}  // table column info
{{ sort_by }}          // sorted column
// (+ total, page, page_count, has_prev, sort_dir...)

// Full key list for each view in the documentation!
Overridable Tera blocks
// Available blocks in admin/admin_template
{% block extra_css %}{% endblock %}   // additional CSS styles
{% block title %}{% endblock %}       // tab title
{% block breadcrumb %}{% endblock %}  // breadcrumb
{% block content %}{% endblock %}     // main content
{% block sidebar %}{% endblock %}     // sidebar
{% block topbar %}{% endblock %}      // top bar
{% block messages %}{% endblock %}    // flash messages
{% block extra_js %}{% endblock %}    // additional JS scripts
{% block footer %}{% endblock %}      // footer
Extra keys via with_state()
// Custom data passed via extra_context in admin_state().
// E.g.: logged-in user, business stats, etc.
{{ resource_counts[resource.key] }}  // exemple démo
Concrete example
// The dashboard shown in this demo's admin view
// is itself an override template.
// demo-app/templates/admin/test_dashboard.html
Voir sur GitHub