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

Admin Lte Template Laravel Laravel Package

acacha/admin-lte-template-laravel

AdminLTE template for Laravel: a ready-made admin panel scaffold that pairs the AdminLTE theme with Laravel authentication, user management, and Blade layouts. Ships with login and registration views, a responsive sidebar, and sensible defaults so you can build polished dashboards and CRUD interface...

View on GitHub
Deep Wiki
Context7

Getting Started

Prerequisites. This package is a scaffolding layer, not a runtime UI kit. It expects a Laravel app that already has authentication views/routes (make:auth on Laravel ≤5.8, or laravel/ui + php artisan ui bootstrap --auth on 6.x–8.x). It ships AdminLTE 2.x, which means Bootstrap 3, jQuery, and Font Awesome 4 — not the Bootstrap 5 stack in a fresh Laravel 9+ skeleton. Confirm your Laravel/PHP versions match the package constraint before installing.

Install sequence.

composer require acacha/admin-lte-template-laravel
php artisan adminlte:install          # publishes views, assets, config
php artisan list adminlte             # confirm command name/flags for your pinned version

Then clear caches and log in:

php artisan config:clear && php artisan view:clear
php artisan serve

Where to look first.

  1. php artisan adminlte:install --help — flags like --force, --symlink, and any selective install options determine whether you get copies or links.
  2. The published config (typically config/adminlte.php or config/laravel-adminlte.php) — app name, logo, skin, menu entries, and layout paths.
  3. resources/views/ — the installer replaces/creates layouts/app.blade.php, home.blade.php, and the auth/* views. This is where you will spend most of your time.
  4. public/vendor/... (or public/adminlte) — the compiled AdminLTE CSS/JS/plugins.

First use case. Point a dashboard route at the new home view, add one sidebar link, and verify the active-state highlight works:

Route::middleware('auth')->get('/dashboard', fn () => view('home'))->name('dashboard');

Once that renders inside the AdminLTE shell with a working sidebar and logout, the scaffolding is proven and you can build on it.

Implementation Patterns

Own the views after install. This package copies Blade files into your app rather than rendering them from the vendor directory. Treat resources/views/layouts/app.blade.php as application code: split it into partials (layouts/partials/sidebar, navbar, footer) so future re-installs don't force a three-way merge in one giant file.

Menu as data, not markup. Drive the sidebar from the config file or a small array in a view composer, then render with a loop. Active state should be route-based, not hardcoded:

<li class="{{ request()->routeIs('users.*') ? 'active' : '' }}">
    <a href="{{ route('users.index') }}"><i class="fa fa-users"></i> <span>Users</span></a>
</li>

Config-driven entries mean per-environment or per-role menus without editing Blade.

Group admin routes explicitly. Use a dedicated route file or prefix group with ['middleware' => ['auth'], 'prefix' => 'admin', 'as' => 'admin.']. The installer's /home route is a starting point, not an architecture — replace it with your own dashboard route so the package's scaffold doesn't collide with domain routes later.

CRUD workflow. Generate the backend with standard Artisan (make:model -mcr, form requests), then copy the closest AdminLTE view (usually home or a user list) as the template. AdminLTE 2 bundles DataTables, iCheck, and date pickers; wire them through the layout's @stack('scripts') rather than adding <script> tags per view.

Branding via config, not search-and-replace. App name, logo path, skin class (skin-blue, skin-purple), and layout options belong in the published config so config:cache in production picks them up. Reference them in Blade with config('adminlte.skin').

Auth/profile screens are the real payoff. Registration, login, password reset, and the user profile page come pre-styled. If you need extra profile fields, migrate the users table and extend the profile view — don't fork the auth controllers unless you must; the default Auth\* controllers are thin enough to leave alone.

Front-end build decision. Either commit the published assets in public/ and never touch them, or pull AdminLTE's sources into your Mix/Vite pipeline. Do not do both — mixed ownership is the most common source of "my CSS change doesn't appear" bugs.

Gotchas and Tips

  • The package's last release was 2020. It is bound to AdminLTE 2 / Bootstrap 3 / jQuery. On Laravel 9+ you will fight the asset tags in the layout, which reference plain asset() or mix() paths. Budget a rewrite of the <head>/footer includes if you move to Vite.
  • --force destroys your edits. Commit before re-running the installer, and keep customizations in separate partials or a child layout so a re-install touches as few files as possible.
  • make:auth no longer exists on Laravel 6+. Install laravel/ui, run php artisan ui bootstrap --auth, and only then run the AdminLTE installer. Skipping this produces missing-view errors that look like package bugs.
  • Symlinked assets break on Windows and some CI/deploy setups. If --symlink fails or public/vendor is empty after deploy, re-run the installer in copy mode or add the publish step to your deploy script.
  • Config caching hides changes. php artisan config:clear after touching the AdminLTE config; .env values override config-file defaults in most of the package's settings.
  • Route conflicts. The installer's home route and any Auth::routes() call can shadow your own. Run php artisan route:list and check ordering after install.
  • View namespace collisions. If resources/views/vendor/<namespace> exists from a prior install, published overrides may be resolved from the wrong path. Delete stale directories when upgrading.
  • jQuery/Bootstrap version clashes. If your app already loads Bootstrap 4/5 or a different jQuery, the sidebar treeview and dropdowns will silently stop working. Load AdminLTE's assets last, or scope them to the admin layout only.
  • Security hygiene. Bootstrap 3 and AdminLTE 2 are end-of-life; audit before shipping. Always keep admin routes behind auth (plus role checks), since the scaffold's default middleware won't know about your authorization model.
  • Debugging checklist when a page renders unstyled: view the rendered <head>, confirm public/vendor is populated, check the browser console for 404s on adminlte.css/app.js, and verify APP_URL so asset() generates correct hosts behind a proxy.
  • Extension points worth knowing: publish tags via php artisan vendor:publish --provider="Acacha\AdminLTETemplateLaravel\...", the service provider for adding view composers, and the config file for menu/skin options. Prefer these over editing vendor code.
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.
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
uni-method/symfony-lib