Paymenter ExtensionsNavBar Manager
Installation
NavBar Manager installation and usage.
Installation & Usage
1. Install the Extension
- Copy the extension directory to
extensions/Others/NavEditoror use paymenter extension installer (Administration → Extensions→Install extension) - Enable it from Administration → Extensions. Activation runs the Nav Editor migration (
extensions/Others/NavEditor/database/migrations) and creates the navigation table.
2. Navigation Manager Overview
- Access the manager from Administration → Extensions → Navigation Manager.
- Top-level records render as primary navigation links. Assign a Parent Link to place an item inside a dropdown.
- Drag-and-drop the list to update
sort_order; lower numbers appear earlier in the menu. - Toggle Enabled to hide or show a link without deleting it. Disabled links are skipped entirely when building the navigation tree.
3. Link Types & Destinations
Every link requires a unique Slug / Identifier (
[A-Za-z0-9-_\/]+). Slugs drive routing for custom pages and external link tracking.
Application Route
- Provide an application Route Name (e.g.
home,dashboard,clients.show). - Use the Route Parameters repeater to supply key/value pairs. Scalar values are stored as strings; use JSON for nested values.
- The Enable SPA navigation toggle determines whether the link is handled by the SPA router. Disable it for routes that must trigger a full page reload.
External URL
- Enter the absolute External URL (validated with
url()rules). - The slug is used to generate an internal redirect route
nav-editor/link/{link:slug}. - Open in new tab adds
target="_blank"andrel="noopener"to the generated link.
Custom Page
- Supply a slug such as
policies/privacy. Nav Editor registers a corresponding Laravel route namednav-editor.custom.policies.privacy. - Populate Custom Page Content with Markdown or basic HTML. Content is rendered through the active theme layout, so headers, buttons, and other components inherit the site styling.
- Each custom page automatically receives the link label as its
<title>and a centered icon (if one is configured).
5. Display Options
- Remix Icon – enter the base Remix icon name (e.g.
ri-home-2). Icon input is sanitized and verified; the system automatically switches between line/fill variants to match the theme. - Sort Order – numeric priority; smaller values render first within their parent.
- Show separator after this link – inserts a divider after the item in navigation dropdowns.
- Parent Link (for dropdown) – pick another top-level link to create nested menus. The manager prevents circular references.
6. Custom Page Rendering
- Custom pages reuse the active theme layout (
themes/{theme}/views/layouts/app.blade.php). If the requested layout is missing, the default theme layout is used. - Markdown rendering is handled server-side with
Str::markdown(), allowing editors to drop in headings, lists, and code blocks without writing raw HTML. - When no content is provided the visitor sees a placeholder message (
"No custom content provided yet.").
7. Icon Handling Details
- Icons are normalized via
IconNormalizer, ensuring consistentri-prefixes, removing stray variants, and validating availability in the Remix icon set. - Invalid icon names fail validation with a descriptive error, preventing broken icons in production.
- Saved records are repaired on boot, so fixing the icon value in the database happens automatically when the extension loads.
8. Permissions & Roles
Make sure admin roles include the Filament resource permissions for navigation links. Without them, the Navigation Manager entry will not appear in the sidebar.
9. Testing Checklist
- Create a top-level Application Route link and confirm it appears in the primary navigation.
- Add a child link with a higher sort order and verify dropdown ordering and separators behave as expected.
- Create an External URL and test that it redirects through
/nav-editor/link/{slug}(and respects new-tab settings). - Build a Custom Page, visit the generated URL, and confirm Markdown renders and the theme layout is applied.
- Disable a link and ensure it disappears from the menu without deleting related children.
NavBar Manager
Nav Editor lets teams manage Paymenter’s navigation without touching code. Through a navigation manager, admins can reorder links, build nested menus, and publ
Route Parameters
Route parameters let Nav Editor links target Laravel routes that expect dynamic values (IDs, slugs, filters, or nested resources). When a visitor clicks the lin