PHPackages                             cube-agency/arbory-menu - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. cube-agency/arbory-menu

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

cube-agency/arbory-menu
=======================

Menu module for Arbory CMS

v0.2(6y ago)032MITPHP

Since Mar 9Pushed 6y agoCompare

[ Source](https://github.com/cube-agency/arbory-menu)[ Packagist](https://packagist.org/packages/cube-agency/arbory-menu)[ RSS](/packages/cube-agency-arbory-menu/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Arbory menu
===========

[](#arbory-menu)

CMS module for creating menus

### Installation

[](#installation)

Require cube-agency/arbory-menu

```
$ composer require cube-agency/arbory-menu
```

Run migrations (creates `menus` and `menu_items` tables)

```
$ php artisan migrate
```

Enable module by adding to config `config/arbory.php` and register routes in `routes/admin.php`

```
'menu' => [
    ...
    \CubeAgency\ArboryMenu\Http\Controllers\Admin\MenuController::class
]
```

```
Admin::modules()->register(\CubeAgency\ArboryMenu\Http\Controllers\Admin\MenuController::class);
```

### Example usage

[](#example-usage)

1. Create new menu called "Main menu (EN)" via admin module
2. Add `main_menu_id` field to LanguagePage using laravel migrations
3. Add select field under LanguagePage definition of fields in `routes/pages.php`

    ```
    Page::register(LanguagePage::class)
        ->fields(function (FieldSet $fieldSet) {
            ...
            $fieldSet->select('main_menu_id')->options( ... );
        })
    ```
4. Add relation to Pages/LanguagePage.php

    ```
    public function mainMenu(): BelongsTo
    {
        return $this->belongsTo(\CubeAgency\ArboryMenu\Menu\Menu::class);
    }
    ```
5. Get and assign menu items in your view composer

    ```
    public function compose(View $view): void
    {
        ...
        $view->with([
            ...
           'mainMenuItems' => $languageNode->content->mainMenu->getPreparedItems()
        ]);
    }
    ```
6. Output menu in layout view

    ```

        @foreach($mainMenuItems as $item)

                    {{$item['name']}}

        @endforeach

    ```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% 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 ~50 days

Total

2

Last Release

2210d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3168975?v=4)[cliche23](/maintainers/cliche23)[@cliche23](https://github.com/cliche23)

---

Top Contributors

[![worldhck](https://avatars.githubusercontent.com/u/58777274?v=4)](https://github.com/worldhck "worldhck (3 commits)")[![cliche23](https://avatars.githubusercontent.com/u/3168975?v=4)](https://github.com/cliche23 "cliche23 (2 commits)")

### Embed Badge

![Health badge](/badges/cube-agency-arbory-menu/health.svg)

```
[![Health](https://phpackages.com/badges/cube-agency-arbory-menu/health.svg)](https://phpackages.com/packages/cube-agency-arbory-menu)
```

###  Alternatives

[nikaia/nova-rating-field

Add start rating field to Laravel Nova

42258.6k](/packages/nikaia-nova-rating-field)[iamntz/carbon-fields-urlpicker

Carbon Fields extension that adds a URL picker field type.

1438.6k](/packages/iamntz-carbon-fields-urlpicker)

PHPackages © 2026

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