PHPackages                             kineticamobile/atrochar - 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. [Templating &amp; Views](/categories/templating)
4. /
5. kineticamobile/atrochar

ActiveLibrary[Templating &amp; Views](/categories/templating)

kineticamobile/atrochar
=======================

Menu Generator for Laravel Apps - Populate menus in your views using Database backed Menus with @menu Blade component

v0.1.7(5y ago)189MITPHP

Since Oct 18Pushed 5y ago2 watchersCompare

[ Source](https://github.com/kineticamobile/atrochar)[ Packagist](https://packagist.org/packages/kineticamobile/atrochar)[ Docs](https://github.com/kineticamobile/atrochar)[ RSS](/packages/kineticamobile-atrochar/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependencies (3)Versions (9)Used By (0)

Atrochar
========

[](#atrochar)

Menu Generator for Laravel Apps - Populate menus in your views using Database backed Menus with @menu Blade component

Installation
------------

[](#installation)

1. Via Composer

```
$ composer require kineticamobile/atrochar
```

2. Add trait to your **User** model.

```
use Kineticamobile\Atrochar\Traits\MenuAbilities;

class User extends Authenticatable
{

    use MenuAbilities;
```

3. Run migrations

```
$ php artisan migrate
```

Simple Usage
------------

[](#simple-usage)

### Create Menus and its items

[](#create-menus-and-its-items)

You can access the Menu Management in your app "APP\_URL/atrochar/menus"

or add link wherever you want

```
 {{ __('Menus') }}
```

### Add a created menu in your views with blade component

[](#add-a-created-menu-in-your-views-with-blade-component)

- Using menu name

```
    @menu("Dasboard")
```

- Using menu id

```
    @menu(1)
```

- Using menu object

```
    $menu = Menu::find(1);
    [...]
    @menu($menu)
```

### Use views instead of programatic approach

[](#use-views-instead-of-programatic-approach)

You can publish the views of the components

```
$ php artisan vendor:publish --tag=atrochar.views
```

You have two views in `resources/views/vendors/atrochar`, `default.blade.php` nad `jetstream.blade.php`

To use these views see examples below

- `@menuview($menu)` use `default`
- `@menuview($menu, 'jetstream')` use `jetstream`

Advanced Usage
--------------

[](#advanced-usage)

### Change Prefix of Package Routes

[](#change-prefix-of-package-routes)

Publish configuration

```
$ php artisan vendor:publish --tag=atrochar.config
```

Modify `conf/atrochar.php` field `prefix`. It allows empty string, if null `atrochar` would be used.

### Change iframe routes

[](#change-iframe-routes)

Usually iframe links are in route `atrochar/i/24`

You can change `i` for whatever you want in `conf/atrochar.php` field `iframe` after publish the configuration file

```
$ php artisan vendor:publish --tag=atrochar.config
```

### Restrict access to menu management

[](#restrict-access-to-menu-management)

By default all users can **manage** menus.
You need to add the method `canManageMenus()` to your user model:

```
    /**
     * @return bool
     */
    public function canManageMenus()
    {
        // For example
        return $this->hasRole('Admin');
    }
```

### Use of the links' permission field

[](#use-of-the-links-permission-field)

By default all items can be **viewed**. But you can add permission in your links, if not empty this ability is checked against the User method `canViewMenuItem($ability)`
You need to add the method `canViewMenuItem($ability)` to your user model to extend this behavior:

```
    /**
     * @return bool
     */
    public function canViewMenuItem($ability)
    {
        // For example
        return $this->getAllPermissions()->pluck('name')->contains($ability);
    }
```

### Style your menus using themes or overriding default values

[](#style-your-menus-using-themes-or-overriding-default-values)

Using themes. Publish the config file in your app. In config/atrochar.php you can modify default values or add new themes

```
$ php artisan vendor:publish --tag=atrochar.config
```

```
return [
    "defaultTheme" => [
        "linkTag" => "a",
        "class" => "",
        "activeClass" => "",
        "listStartTag" => "",
        "listEndTag" => "",
        "itemStartTag" => "",
        "itemEndTag" => "",
    ],
    "themes" => [
        "jetstream" => [
            "linkTag" => "a",
            "class" =>       "inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out",
            "activeClass" => "inline-flex items-center px-1 pt-1 border-b-2 border-indigo-400 text-sm font-medium leading-5 text-gray-900 focus:outline-none focus:border-indigo-700 transition duration-150 ease-in-out",
            "listStartTag" => "",
            "listEndTag" => "",
            "itemStartTag" => "",
            "itemEndTag" => "",
        ]
    ]
];
```

Once you've created a theme you can pass a string as a second argument in the @menu component the name of the theme

```
    @menu("Dasboard", "jetstream")
```

If you pass an array as second argument the values override the defaultTheme values

```
    @menu($menu, ["class" => "bg-gray-500 font-mono"])
```

Security
--------

[](#security)

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits
-------

[](#credits)

- [Raul Tierno](https://github.com/raultm)
- [Emilio Ortiz](https://github.com/branigan)
- [Daniel Macías](https://github.com/dmaciasr)

Licence
-------

[](#licence)

MIT

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~5 days

Total

8

Last Release

1992d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/659494?v=4)[Raul Tierno](/maintainers/raultm)[@raultm](https://github.com/raultm)

---

Top Contributors

[![raultm](https://avatars.githubusercontent.com/u/659494?v=4)](https://github.com/raultm "raultm (32 commits)")

---

Tags

laravelblademenuAtrochar

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kineticamobile-atrochar/health.svg)

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

###  Alternatives

[robsontenorio/mary

Gorgeous UI components for Livewire powered by daisyUI and Tailwind

1.5k454.7k15](/packages/robsontenorio-mary)[stijnvanouplines/blade-country-flags

A package to easily make use of country flags in your Laravel Blade views.

26307.2k6](/packages/stijnvanouplines-blade-country-flags)[technikermathe/blade-lucide-icons

A package to easily make use of Lucide icons in your Laravel Blade views.

18299.2k7](/packages/technikermathe-blade-lucide-icons)[saade/blade-iconsax

A package to easily make use of Iconsax in your Laravel Blade views.

21138.5k](/packages/saade-blade-iconsax)[mckenziearts/blade-untitledui-icons

A package to easily make use of UntitledUI icons in your Laravel Blade views.

16104.9k5](/packages/mckenziearts-blade-untitledui-icons)

PHPackages © 2026

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