Search by

myodevops / alternative

myodevops

Evolutions of layouts and components of Laravel AdminLTE

Package info

github.com/myodevops/alternative

pkg:composer/myodevops/alternative

Statistics

Installs: 40

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 2

dev-master 2026-10-17 22:11 UTC

This package is not auto-updated.

Last update: 2026-11-07 09:03:55 UTC


README

ALTErnative is a Laravel package that builds on top of jeroennoten/laravel-adminlte. It adds ready-to-use Blade components, a small JavaScript runtime and a few PHP helpers so that the typical back-office CRUD page (a server-side DataTable with a modal form to insert, edit, inspect and delete records) can be written with very little code.

It also ships with:

  • an application error log, stored in a dedicated SQLite database, with a ready-made viewer;
  • a viewer for the laravel.log file.

Requirements

Dependency Version
PHP >= 8.2
Laravel (illuminate/support) ^11.0
jeroennoten/laravel-adminlte >= 3.8.5
PHP extension pdo_sqlite any

On the browser side, the components rely on the AdminLTE plugins for DataTables (with the Buttons extension), Select2, Date Range Picker, Bootstrap Switch and SweetAlert2. See Installation.

Quick start

composer require myodevops/alternative
php artisan vendor:publish --tag=laravel-assets
php artisan migrate

Then load alternative.js in your AdminLTE pages (see Installation › Front-end assets) and build your first CRUD page:

@extends('adminlte::page')

@section('content')
    <x-alternative-modal-form id="userForm" title="User"
                              actionread="/api/users/{id}" actionwrite="/api/users"
                              method="modify">
        <x-alternative-input-key fieldname="id" />
        <x-alternative-input name="iName" label="Name" placeholder="Name" fieldname="name" />
        <x-alternative-input-email name="iEmail" label="E-mail" placeholder="E-mail" fieldname="email" />
    </x-alternative-modal-form>

    <x-alternative-modal-confirm id="userDelete" action="/api/users/{id}" method="delete">
        Delete the selected user?
    </x-alternative-modal-confirm>

    <x-alternative-datatable name="users_table" :heads="['ID', 'Name', 'E-mail', 'Actions']" />
@endsection

@section('js')
@parent
<script>
$(document).ready(function () {
    myo.UI.initializeDataTable('users_table');
    $('#users_table').DataTable({
        processing: true,
        serverSide: true,
        bDestroy: true,
        ajax: '/api/users',
        createdRow: myo.UI.OnCreatedRow,
        onModifyActionForm: 'userForm',
        onDeleteActionForm: 'userDelete',
        insertAllowed: true,
        columns: [
            { data: 'id' },
            { data: 'name' },
            { data: 'email' },
            { data: 'actions', searchable: false, orderable: false },
        ],
    });
});
</script>
@endsection

The full walkthrough, including the server side, is in DataTables and CRUD pages.

Documentation

Topic Content
Installation Composer, the altesqlite database, assets, AdminLTE plugins
Form components Reference of every <x-alternative-*> Blade component
DataTables and CRUD pages Server-side DataTables, action buttons, modal forms, the request/response contract
JavaScript API The myo.UI and myo.WS objects in alternative.js
Logging Application error log, laravel.log viewer, the altesqlite database
PHP helpers MessageHandler, Utils, Setting, Blade directives

Changelog

See changelog.txt.

License

ALTErnative is open-source software licensed under the MIT license.