PHPackages                             moox/category - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. moox/category

ActiveLibrary

moox/category
=============

This is my package category

5.0.12(2mo ago)5232MITPHP

Since Dec 12Pushed 2mo agoCompare

[ Source](https://github.com/mooxphp/category)[ Packagist](https://packagist.org/packages/moox/category)[ Docs](https://moox.org/)[ GitHub Sponsors](https://github.com/mooxphp)[ RSS](/packages/moox-category/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (7)Versions (11)Used By (0)

[![Moox Category](https://github.com/mooxphp/moox/raw/main/art/banner/category.jpg)](https://github.com/mooxphp/moox/raw/main/art/banner/category.jpg)

Moox Category
=============

[](#moox-category)

This is my package category

Quick Installation
------------------

[](#quick-installation)

These two commmands are all you need to install the package:

```
composer require moox/category
php artisan mooxcategory:install
```

Curious what the install command does? See manual installation below.

What it does
------------

[](#what-it-does)

This Laravel Package Template can be used to create a package including a powerful Filament resource called Category.

[![Moox Category Category](https://github.com/mooxphp/moox/raw/main/art/screenshot/category-item.jpg)](https://github.com/mooxphp/moox/raw/main/art/screenshot/category-item.jpg)

Name and table for the Resource can be changed while building your package.

### Using the Template

[](#using-the-template)

1. Go to
2. Press the `Use this template` button
3. Create a new repository based on the template
4. Clone the repository locally
5. Run `php build.php`in the repo's directory and follow the steps
    - Author Name (Default: Moox Developer): Your Name
    - Author Email (Default: ):
    - Package Name (Default: Blog Package): Your Package
    - Package Description (Default: This is my package Blog Package)
    - Package Entity (Default: Category): e.g. Post
    - Tablename (Default: categories): e.g. posts

After building the package, you can push the changes to GitHub and create an installable package on Packagist.org. Don't forget to adjust the README to your composer namespace.

### Config

[](#config)

After that the Resource is highly configurable.

#### Tabs and Translation

[](#tabs-and-translation)

Moox Core features like Dynamic Tabs and Translatable Config. See the config file for more details, but as a quick example:

```
            /*
            |--------------------------------------------------------------------------
            | Tabs
            |--------------------------------------------------------------------------
            |
            | Define the tabs for the Resource table. They are optional, but
            | pretty awesome to filter the table by certain values.
            | You may simply do a 'tabs' => [], to disable them.
            |
            */

            'tabs' => [
                'all' => [
                    'label' => 'trans//core::core.all',
                    'icon' => 'gmdi-filter-list',
                    'query' => [
                        [
                            'field' => 'deleted_at',
                            'operator' => '=',
                            'value' => null,
                        ],
                    ],
                ],
                'published' => [
                    'label' => 'trans//core::core.published',
                    'icon' => 'gmdi-check-circle',
                    'query' => [
                        [
                            'field' => 'publish_at',
                            'operator' => '',
                            'value' => function () {
                                return now();
                            },
                        ],
                        [
                            'field' => 'deleted_at',
                            'operator' => '=',
                            'value' => null,
                        ],
                    ],
                ],
                'draft' => [
                    'label' => 'trans//core::core.draft',
                    'icon' => 'gmdi-text-snippet',
                    'query' => [
                        [
                            'field' => 'publish_at',
                            'operator' => '=',
                            'value' => null,
                        ],
                        [
                            'field' => 'deleted_at',
                            'operator' => '=',
                            'value' => null,
                        ],
                    ],
                ],
                'deleted' => [
                    'label' => 'trans//core::core.deleted',
                    'icon' => 'gmdi-delete',
                    'query' => [
                        [
                            'field' => 'deleted_at',
                            'operator' => '!=',
                            'value' => null,
                        ],
                    ],
                ],
            ],
        ],
```

All options for Tabs are explained in [Moox Core docs](https://github.com/mooxphp/core/blob/main/README.md#dynamic-tabs).

#### Category Types

[](#category-types)

The item also support 'item' types, means you are able to configure selectable types for your Entity. By default, we provide "Post" and "Page" as example. If you don't want to use types, just empty the array and the field and column become invisible.

```
    /*
    |--------------------------------------------------------------------------
    | Category Types
    |--------------------------------------------------------------------------
    |
    | This array contains the types of categories entities. You can delete
    | the types you don't need and add new ones. If you don't need
    | types, you can empty this array like this: 'types' => [],
    |
    */

    'types' => [
        'post' => 'Post',
        'page' => 'Page',
    ],
```

#### Author Model

[](#author-model)

You can configure the user model used for displaying Authors. By default it is tied to App User:

```
    /*
    |--------------------------------------------------------------------------
    | Author Model
    |--------------------------------------------------------------------------
    |
    | This sets the user model that can be used as author. It should be an
    | authenticatable model and support the morph relationship.
    | It should have fields similar to Moox User or WpUser.
    |
    */

    'user_model' => \App\Models\User::class,
```

You may probably use Moox User

```
    'user_model' => \Moox\User\Models\User::class,
```

or Moox Press User instead:

```
    'user_model' => \Moox\Press\Models\WpUser::class,
```

Manual Installation
-------------------

[](#manual-installation)

Instead of using the install-command `php artisan mooxcategory:install` you are able to install this package manually step by step:

```
// Publish and run the migrations:
php artisan vendor:publish --tag="category-migrations"
php artisan migrate

// Publish the config file with:
php artisan vendor:publish --tag="category-config"
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](https://github.com/mooxphp/moox/security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance83

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~48 days

Recently: every ~53 days

Total

10

Last Release

87d ago

Major Versions

0.4.0 → v4.0.0-beta.12025-07-10

4.0.0-beta.3 → 5.0.02026-02-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/40421928?v=4)[Alf Drollinger](/maintainers/adrolli)[@adrolli](https://github.com/adrolli)

---

Top Contributors

[![mooxbot](https://avatars.githubusercontent.com/u/106848579?v=4)](https://github.com/mooxbot "mooxbot (31 commits)")[![adrolli](https://avatars.githubusercontent.com/u/40421928?v=4)](https://github.com/adrolli "adrolli (1 commits)")

---

Tags

categoryfilamentlaravelnested-setparent-childtaxonomylaravellaravel-packagefilamentfilament-plugin

### Embed Badge

![Health badge](/badges/moox-category/health.svg)

```
[![Health](https://phpackages.com/badges/moox-category/health.svg)](https://phpackages.com/packages/moox-category)
```

###  Alternatives

[wsmallnews/filament-nestedset

Filament nestedset tree builder powered by kalnoy/nestedset with Filament v4 and v5 support

163.0k8](/packages/wsmallnews-filament-nestedset)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
