Menü Öğeleri (nav)

nav[], eklentinin Restomenum panelinin menüsüne eklediği bağlantılardır. Her öğe bir Custom UI sayfasına (pages[].id) bağlanır; tenant menüden tıklayınca o sayfa iframe'de açılır.

Nasıl çalışır

Panel menüsü
   ├─ … (çekirdek menüler)
   └─ [ikon] Etiket  ◄── nav öğesi (slot: sidebar.main)
          │ tıkla
          ▼
   pageId ile eşleşen Custom UI sayfası iframe'de açılır

Bir nav öğesi her zaman bir Custom UI sayfasına işaret eder. slot değeri yalnız izinli (whitelist) yerleşimlerden olabilir; rastgele DOM'a enjeksiyon yoktur.

Manifest şeması — nav[]

AlanTipZorunluAçıklama
slotenum✓İzinli yerleşim. Geçerli değerler aşağıda.
pageIdstring✓Bir pages[].id'si (mevcut olmalı).
iconenum–İkon whitelist'i (aşağıda). Kısa token — FontAwesome sınıf adı değil.
labeli18n obj–Menü etiketi (text-only) — dil haritası: Çoklu Dil (i18n).
"nav": [
  {
    "slot": "sidebar.main",   // menü yerleşimi (whitelist)
    "pageId": "dashboard",    // bağlanacağı Custom UI sayfası (pages[].id)
    "icon": "chart",          // NAV_ICONS whitelist token (opsiyonel) — "fa-..." DEĞİL
    "label": { "tr": "Acme Panel" }
  }
]
// gerekli scope: "ui:nav" (+ bağlanılan sayfa için "ui:page")

İzinli slot değerleri:

  • sidebar.main — Sol Menü
  • sidebar.tools — Sol Menü — Araçlar
  • settings.menu — Ayarlar menüsü

İzinli icon değerleri:

receiptpuzzlechartboxuserstaggearbell

Adımlar

  1. Önce bir Custom UI sayfası ekle (ui:page).
  2. ui:nav scope'unu iste ve bir nav[] öğesi ekleyip pageId'yi o sayfaya bağla.
  3. Slot + ikon + etiket seç. Editör, bağlanılan sayfa yoksa uyarır.
icon bir whitelist token'ıdır (chart, box, …) — FontAwesome sınıf adı (fa-chart-line) değil. Listede olmayan bir değer panelde ikon olarak render edilmez; ikon istiyorsan yukarıdaki tokenlardan birini kullan.
Etiket ve ikon yalnız metin/whitelist olarak render edilir; HTML enjekte edilemez.