0.39 New: wizard forms, editable cells and totals

The admin panel, written in PHP.

Describe a table as a PHP class and get its list, forms, filters and permissions. Users, media, settings and pages built from blocks come with it, in every language and right to left.

composer require hostkurd/flocms-admin
The flocms-admin panel: a list of listings with its sidebar, filters and totalsThe flocms-admin panel: a list of listings with its sidebar, filters and totals
PHP onlyResources, forms and tables are classes. No build step on your host.
EN · AR · KUTranslatable fields and a right-to-left panel from the start.
Your loginFloCMS's own sign-in, roles and permissions decide who may do what.
Works on cPanelCompiled assets ship with Composer. MySQL, MariaDB or SQLite.

See it in action

Features

Everything links to its guide.

Each card opens the section of the documentation that shows how to use it.

Resources and lists A table described in PHP: columns, search, sort, filters, bulk actions and export. overview § resources → Forms and wizards Sections, tabs, grids, dependent fields and step-by-step forms. forms → Editable cells and totals Switches and selects that save in the list, sums and groups. tables → Relationships Belongs-to and many-to-many fields, and related records on the edit page. relationships → Rich text A clean HTML editor with images, video and tables, per language. rich-text → Pages and the builder Website pages from blocks, with drafts, schedules and SEO. pages → Media library Folders, alt text per language, focal points and responsive images. media → Translatable fields One value per language in a JSON column, with a translation dialog. overview § translatable-fields → Roles and permissions A permission grid per role, levels, and every change in the activity log. roles → CSV import and export Four-step imports with a preview of every row, and Undo. import-export → Ctrl+K search Records, pages, settings and media from one box on any page. search → Login security Two-step sign-in, trusted devices and email verification. login-security → Trash and activity log Undo deletes, restore from the trash, see who changed what. trash-and-activity → Custom pages Your own reports and tools in the panel, with filters and forms. custom-pages → Users and mailings Photos, invitations, account actions and newsletters with unsubscribe. users →

A resource

One class. A list, a form and the permissions.

php flo make:admin-resource Listing writes it. The panel adds the menu item, the pages under /admin/listings and the permissions on the Roles page.

Resources in the docs
admin/Resources/ListingResource.php
final class ListingResource extends Resource
{
    public function form(Form $form): Form
    {
        return $form->schema([
            TextInput::make('title')->translatable()->required(),
            RichEditor::make('body')->translatable(),
            BelongsTo::make('city_id')->resource(CityResource::class),
            MediaPicker::make('gallery')->multiple(),
        ]);
    }

    public function table(Table $table): Table
    {
        return $table->columns([
            TextColumn::make('title')->searchable()->sortable(),
            TextColumn::make('price')->summarize([Sum::make()]),
            ToggleColumn::make('featured'),
        ]);
    }
}

Get started

Three commands on any FloCMS site.

  1. 1 · Add itcomposer require hostkurd/flocms-admin
  2. 2 · Install its tablesphp flo admin:install && php flo migrate
  3. 3 · Your first resourcephp flo make:admin-resource Listing --migration

New projects get it from composer create-project hostkurd/flocms: website + admin panel is the default choice. See choose what you build.

Read the admin panel docs.

Versioned with the package. Latest: 0.39.3, October 23, 2026.

Esc