Download the PHP package kavezoo/jeffadmin without Composer
On this page you can find all versions of the php package kavezoo/jeffadmin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package jeffadmin
JeffAdmin
Version: 1.0.10
JeffAdmin is a CakePHP 5 admin UI plugin: layout, assets, view helpers, display switches, and a Bake theme that generates list, form, and view screens in one consistent look.
Composer: kavezoo/jeffadmin
Credits & inspiration
JeffAdmin’s visual foundation comes from CoolAdmin — the HTML admin template whose structure, sidebar, and card-based screens shaped the plugin’s CSS and layout.
PikeAdmin provided the idea of turning that kind of admin experience into a CakePHP-native package: Bake-driven CRUD, helpers, and a reusable plugin instead of a one-off theme copy.
JeffAdmin builds on both: CoolAdmin for how it looks, PikeAdmin for how a CakePHP admin plugin should be packaged and generated — then extends the result with Tom Select, SweetAlert delete flows, configurable $show switches, related-record tabs, and more.
Requirements
- PHP 8.1+
- CakePHP 5.x
cakephp/bake(dev) — only if you bake Admin controllers/templates with the JeffAdmin theme
Installation
Create a CakePHP ~5.4 app (or use an existing one), then require the plugin:
Or, without a version constraint (latest stable):
On Windows, use php bin/cake.php … instead of the bin/cake shell script.
Setup
1. Load the plugin
In config/plugins.php:
Or in src/Application.php:
The plugin bootstrap:
- loads
JeffAdmin.show - registers helpers:
Icon,Action,Format,Input - sets
Bake.themetoJeffAdminwhen no other bake theme is configured
2. Session (host bootstrap)
Add session config at the end of config/bootstrap.php (Bake theme write is optional if the plugin already set it):
3. Helpers
You do not need to load JeffAdmin helpers in src/View/AppView.php — the plugin registers them automatically.
4. Admin AppController
Create src/Controller/Admin/AppController.php:
The layout (JeffAdmin.default) comes from the plugin AppController.
5. Admin routes
In config/routes.php:
Point the default controller/action at your own models.
6. Bake Admin files
Single model:
Multiple prefixes (e.g. Member)
-
Add the prefix in
config/routes.php: -
Create
src/Controller/Member/AppController.phpthe same way as Admin (extendJeffAdmin\Controller\AppController). - Bake:
Sidebar & layout elements
The layout calls $this->element('JeffAdmin.nav') (and header, header_top, footer the same way).
CakePHP looks under the current prefix first. If the host file exists, it wins; otherwise the plugin default is used.
Same pattern for header.php, header_top.php, footer.php.
No bootstrap menu config. Copy vendor/kavezoo/jeffadmin/templates/element/nav.php to templates/Admin/element/nav.php and add your links.
UI assets live only in the plugin — do not copy webroot into the host.
Display switches ($show)
Global defaults: plugin config/show.php → Configure::read('JeffAdmin').
Notable defaults:
index.rowIdisfalse(id column off unless you enable it)password/passwords/passwdfields are skipped by the Bake theme (forms, index, view, related tables, and header search)
Per-template override in baked files:
View related tabs (HasMany / BelongsToMany): section markers Related: {Alias} (start|end); active columns like index (name/title, visible, pos, created/modified, actions); other fields in /* */. Per-table override via $relatedLocal['Alias'] (e.g. deleteGuardByCounts => false). Model bake keeps // 'dependent' => true commented for optional cascade delete.
Pagination (JeffAdmin.paginate)
Controller settings live in a separate file from $show: plugin config/paginate.php → JeffAdmin.paginate.limit / maxLimit (default 10 / 100). Applied by the plugin AppController.
Host override: Configure::write('JeffAdmin.paginate.limit', 25). Per controller in index(): $this->paginate['limit'] = 25.
Updating
If composer.json pins an exact version, widen the constraint (e.g. ^1.0) first, then update.
License
MIT — see LICENSE.
Enjoy JeffAdmin!
Jeff Shoemaker