tentapress/menus

Installs: 92

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Language:Blade

pkg:composer/tentapress/menus

v0.1.2 2026-01-29 13:28 UTC

This package is auto-updated.

Last update: 2026-02-05 20:09:30 UTC


README

Navigation menu management for TentaPress.

Plugin Details

Field Value
ID tentapress/menus
Version 0.1.2
Provider TentaPress\Menus\MenusServiceProvider

Goal

Allow users to define navigation menus and map them to theme locations.

Scope (v1)

  • CRUD for menus and nested menu items.
  • Assign menus to theme-defined locations.
  • Render helper to output menus in themes.
  • Permissions via manage_menus capability.

Features

  • Create and manage navigation menus
  • Assign menus to theme locations
  • Add pages, posts, and custom links
  • Drag-and-drop ordering
  • Nested menu items

Dependencies

  • tentapress/users
  • tentapress/pages
  • tentapress/posts
  • tentapress/settings

Data model

  • tp_menus
    • id
    • name
    • slug
    • created_by, updated_by
    • timestamps
  • tp_menu_items
    • id
    • menu_id
    • parent_id (nullable, for nesting)
    • title
    • url
    • target (nullable, e.g., _blank)
    • sort_order
    • meta (json)
    • timestamps
  • tp_menu_locations
    • id
    • location_key (string)
    • menu_id (nullable)
    • timestamps

Admin Menu

Label Route Capability Icon Position
Menus tp.menus.index manage_menus menu 40

Admin UI (current)

  • Menus list + create/edit screens.
  • Menu editor with manual ordering (move up/down) and parent selection.
  • Location assignments sourced from theme manifest menu_locations.

Theme Integration

Themes define menu locations in tentapress.json:

"menu_locations": {
    "primary": "Primary Navigation",
    "footer": "Footer Navigation"
}

Routes (current)

  • /admin/menus list, create, edit, update, delete.

Open questions

  • Do we want drag/drop nesting or async reordering in v1.1?
  • Should we add auto-generated menus (e.g., pages list)?

Development

php artisan tp:plugins sync
php artisan tp:plugins enable tentapress/menus