Facet Update: Bearbeitungsrechte & Schnelle Admin-Links

Introducing page.isEditable and Quick Admin Links

Facet Update: Bearbeitungsrechte & Schnelle Admin-Links

Dieses Update führt berechtigungsabhängige Template-Variablen sowie Admin-Utility-URLs ein. Dadurch wird es einfacher, editororientierte Benutzeroberflächen direkt im Frontend zu erstellen.

Mit diesen Ergänzungen können Templates erkennen, ob der aktuelle Benutzer eine Seite bearbeiten darf, und schnellen Zugriff auf administrative Aktionen bereitstellen.


✨ Neue Funktionen

page.isEditable

Facet stellt nun eine neue Template-Variable bereit:


page.isEditable

Diese Variable zeigt an, ob der aktuelle Benutzer die Berechtigung hat, die aktuelle Seite zu bearbeiten.

Damit können Templates UI-Elemente bedingt anzeigen, die nur für Editoren sichtbar sein sollen.

Beispiel

{{#if page.isEditable}}
  <a href="{{ page.url }}?edit=1">Diese Seite bearbeiten</a>
{{/if}}

Typische Anwendungsfälle:

  • Inline-Edit-Buttons
  • Editor-Toolbars
  • Kontextuelle Bearbeitungssteuerungen
  • Seitenbezogene Verwaltungstools

Wenn der Benutzer keine Bearbeitungsrechte besitzt, wird dieser Block nicht gerendert.


Admin-URL-Variablen

Facet stellt außerdem mehrere globale Variablen für häufig verwendete Admin-Links bereit:

VariableBeschreibung
site.adminUrlAdministrations-Dashboard
site.adminProfileUrlAdministrator-Profilseite
site.adminLogoutUrlLogout-URL

Diese Variablen erleichtern es, Admin-Navigation im Frontend zu integrieren, ohne Backend-Pfade fest zu kodieren.

Beispiel

<a href="{{site.adminProfileUrl}}">Profil</a>
<a href="{{site.adminLogoutUrl}}">Abmelden</a>

Ein typischer Anwendungsfall für diese Funktionen ist eine schnelle Admin-Toolbar, die im Frontend für angemeldete Benutzer angezeigt wird.

Diese Toolbar kann schnelle Zugriffe auf folgende Funktionen bieten:

  • aktuelle Seite bearbeiten
  • Dashboard öffnen
  • Seiten verwalten
  • Profil anzeigen
  • abmelden

Beispielimplementierung:

{{#deferred skeleton-width="0" skeleton-height="0"}}
{{#if user.isLoggedin}}
<div
  class="uniui-admin-links fixed right-4 top-1/2 -translate-y-1/2 z-50"
  aria-label="Quick admin links"
>
  <div class="uniui-admin-links__group">

    {{#if page.isEditable}}
    <a href="{{page.url}}?edit=1" aria-label="Edit page">
      Edit
    </a>
    {{/if}}

    <a href="{{site.url}}faceflow/">Dashboard</a>

    <a href="{{site.url}}faceflow/pages-manage">Pages</a>

    <a href="{{site.adminProfileUrl}}">Profile</a>

    <a href="{{site.adminLogoutUrl}}">Logout</a>

  </div>
</div>
{{/if}}
{{/deferred}}

Verhaltensübersicht

BedingungErgebnis
Benutzer nicht angemeldetKomponente wird nicht angezeigt
Angemeldet ohne BearbeitungsrechteAdmin-Links sichtbar, Edit-Button verborgen
Angemeldet mit BearbeitungsrechtenVollständige Toolbar sichtbar

So wird sichergestellt, dass Verwaltungsfunktionen nur autorisierten Benutzern zur Verfügung stehen.


Zusammenfassung

Diese Version erweitert Facet um neue Möglichkeiten zur Erstellung berechtigungsabhängiger Frontend-Interfaces.

Neue Template-Variablen

  • page.isEditable

Neue Site-Variablen

  • site.adminUrl
  • site.adminProfileUrl
  • site.adminLogoutUrl

Diese Verbesserungen erleichtern die Integration von kontextueller Bearbeitung und Admin-Navigation direkt in Facet-Templates, während gleichzeitig eine saubere Zugriffskontrolle gewährleistet bleibt.

kingleoric

kingleoric

First Article You're at the beginning
Next Facet: A Template Engine For FaceFlow

Discussion

Join the conversation and share your thoughts

No comments yet. Be the first to share your thoughts!