Everyone

Navigation Links

Add, reorder, and manage custom navigation links in the Opterius Commerce client portal.

Last updated 1776211200

Navigation Links

Admin → Settings → Client Portal → Navigation Links

The nav link builder lets you add custom links to the portal's top navigation bar. Links are stored as JSON in the portal_nav_links setting and rendered server-side on every portal page.


Each Link Has

Property Description
Label The visible text shown in the nav bar
URL Absolute URL (https://...) or relative path (/contact)
Open in new tab If checked, the link opens with target="_blank" rel="noopener"

Adding a Link

  1. Click Add Link in the nav link builder.
  2. A new row appears with empty Label and URL fields (powered by Alpine.js — no page reload).
  3. Enter the label and URL.
  4. Check "Open in new tab" if the link points to an external site.
  5. Click Save Links.

Reordering Links

Drag the handle icon (≡) on the left of any row to reorder. The order in this list is the order links appear in the nav bar. Save after reordering.

[!TIP] Keep the nav concise — more than 6 custom links will overflow on mobile viewports. Use a footer link or a "More" dropdown for secondary links.


Auto-Injected Links

The following nav links are automatically injected by Commerce when the corresponding section is enabled. Do not add them manually:

Section setting Auto-injected nav label
portal_show_kb Knowledge Base
portal_show_faq FAQ
portal_show_announcements Announcements
portal_show_status Status

If a section is disabled, its auto-injected link is also hidden. Custom nav links are always shown regardless of section settings.

[!IMPORTANT] Adding a manual nav link for "Knowledge Base" while portal_show_kb is also enabled causes the link to appear twice. Use the section toggle for auto-injected links — don't duplicate them.


Portal Footer

The same custom nav links also render in the portal footer alongside the company contact details. There is no separate footer link configuration — the nav link list is shared.


Storage Format

Links are stored as a JSON array in the portal_nav_links key of the settings table:

[
  { "label": "Blog", "url": "https://blog.example.com", "new_tab": true },
  { "label": "Contact", "url": "/contact", "new_tab": false }
]

If you need to bulk-import links (e.g. during a migration), you can write directly to this setting via:

php artisan tinker
Setting::set('portal_nav_links', json_encode([...]));