Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Theme Coreuiv2 Laravel Package

backpack/theme-coreuiv2

CoreUI v2 theme for Backpack for Laravel admin panels. Drop-in styling for CRUDs, lists, forms and dashboards, giving your backend a clean, modern look with minimal configuration. Install alongside Backpack to swap the default admin UI quickly.

View on GitHub
Deep Wiki
Context7

Getting Started

  1. Install the theme (Backpack v6 must already be installed):
    composer require backpack/theme-coreuiv2
    
  2. Point Backpack at it. Open config/backpack/ui.php (publish Backpack's config if the file is missing) and change:
    'view_namespace' => 'backpack::ui.coreuiv2', // was 'backpack::ui.tabler'
    
  3. Clear caches — this is a config value, so a cached config is the #1 "nothing changed" cause:
    php artisan config:clear && php artisan view:clear
    
  4. Verify by hitting /admin. You should see the CoreUI v2 shell (dark sidebar, Bootstrap 4 markup) instead of Tabler.

Where to look first: the installed blade files under vendor/backpack/theme-coreuiv2/resources/views/ — that is the actual UI you will be overriding. Read config/backpack/ui.php for the active theme plus asset/style/script hooks. Then skim the Backpack v6 upgrade guide, because the theme only restores the look; v6's behavioural changes still apply.

First real use case: upgrading a Backpack v5 app to v6 without a UI redesign, or starting a v6 project that must match an existing CoreUI v2 / Bootstrap 4 design system. If neither applies, use the default Tabler theme instead — this package is explicitly marked legacy.

Version to target: current line is 2.0.x (latest 2.0.6), which is the Backpack v6–compatible branch. Pin ^2.0 — do not assume the constraint tracks Backpack's own major.

Implementation Patterns

  • Keep generated CRUD views theme-neutral. php artisan backpack:crud Product scaffolds views under resources/views/admin/product/ that @extends('backpack::layouts.top_left') and use backpack::crud.* partials. Those work under either theme. The breakage starts the moment you hand-write Bootstrap 5 classes into them.
  • Override, don't edit. Laravel's vendor-view override path for the backpack namespace is:
    resources/views/vendor/backpack/ui/coreuiv2/...
    
    Copy a file from vendor/backpack/theme-coreuiv2/resources/views/ui/coreuiv2/... into that path and edit the copy. This is also how you build a lightweight "app theme" — override layouts/top_left.blade.php, inc/sidebar_content.blade.php, inc/topbar_right_content.blade.php for logo/nav/branding, and leave view_namespace as backpack::ui.coreuiv2.
  • Global CSS/JS: add your stylesheet after CoreUI's via the theme's layout or the styles/scripts arrays in config/backpack/ui.php (or base.php depending on minor version), or use the @yield('after_styles') / @yield('after_scripts') hooks in the layout stack. Avoid hard-coding <link> tags into every page.
  • Widgets and custom fields: if you publish a widget view, place it under the theme's namespace (or duplicate it for both themes). Better: write the widget's markup so it only uses classes that exist in both BS4 and BS5 (row, col-*, card, btn, form-control, mb-*/mt-* — but not ms-*/me-*/gap-*).
  • Datatable overrides need re-syncing. 2.0.6 refreshed stale classes in the theme's datatable views. If you copied datatable.blade.php / the crud/inc/datatable/* partials into resources/views/vendor/backpack/ui/coreuiv2/, diff them against the new vendor versions after upgrading — your copy is a frozen snapshot of the old (stale) markup.
  • Per-page layout overrides: individual CRUD pages can @extends a custom layout that itself extends the theme layout. This is the cleanest way to give one section of the admin a different chrome without forking the theme.
  • Feature-flag during migration: if you are migrating off coreuiv2, build pages against backpack::crud.* and neutral partials so you can flip view_namespace back to backpack::ui.tabler on a branch and only fix the handful of views that leaked BS4 classes.

Gotchas and Tips

  • This is maintenance-mode. The package is labelled "legacy" for a reason. New Backpack v6 add-ons, field types, widgets, and Pro packages are built and tested against Tabler/Bootstrap 5. Confirm each add-on you rely on still renders under CoreUI v2 before committing to the theme. With ~5 stars and 0 dependents, expect to be your own support.
  • Bootstrap 4 vs 5 is the real tax. v6 docs, snippets, and new fields emit BS5: ms-*, me-*, ps-*, pe-*, g-*, data-bs-*, form-floating, text-bg-*. Under this theme they silently no-op or misalign. Grep your custom views for those tokens and translate to BS4 (ml-*, mr-*, pl-*, pr-*, data-*).
  • Releases are small, cosmetic patches. 2.0.6 is a single PR ("Update stale datatable classes" by @pxpm) — treat patch bumps as low-risk but visible. Read the diff if your app depends on exact table markup, and re-check any datatable-related view overrides you maintain.
  • Config cache beats you every time. After editing view_namespace, php artisan config:clear && php artisan view:clear. If your deploy runs php artisan optimize, re-run it.
  • ViewNotFoundException for backpack::ui.coreuiv2.* almost always means one of: theme not installed, typo in view_namespace, cached config, or your override file has a different filename/casing than the original. Check the path in vendor/backpack/theme-coreuiv2/resources/views/ first.
  • Unstyled pages = assets, not views. The theme ships CoreUI v2 CSS/JS. If layout renders but looks naked, the assets weren't published or your APP_URL/asset URL is wrong. Check the theme README for its publish tag (some themes also support a CDN flag).
  • Never edit vendor/backpack/theme-coreuiv2. composer update wipes it. Pin the version (^2.0) and override in resources/views/vendor/backpack/ui/coreuiv2/.
  • Version drift on Backpack core bumps. A core view may start referencing a partial the legacy theme doesn't have. After upgrading backpack/crud, smoke-test /admin, the login page, and one full CRUD (list/create/edit/delete). If something 500s, diff the corresponding file in backpack/theme-tabler — the change is almost always exactly what you need to backport.
  • Don't mix themes per request. You can flip config(['backpack.ui.view_namespace' => ...]) in middleware, but partial renders and cached fragments will bite you. Pick one theme per environment.
  • Debugging missing overrides: php artisan view:clear and confirm the file sits under resources/views/vendor/backpack/ui/coreuiv2/... (not resources/views/vendor/backpack/... minus the ui.coreuiv2 segment).
  • Tests: the theme is presentation only — don't assert on markup classes. A single smoke test that hits /admin and asserts 200 is enough to catch the usual upgrade breakage.
  • Escape hatch: if you're genuinely stuck on this UI long-term, fork the package into packages/ with a path repository, then you can patch it freely and keep it under your own CI. Do that only after deciding you can't migrate to Tabler.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment