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