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.isEditableDiese 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:
| Variable | Beschreibung |
|---|---|
site.adminUrl | Administrations-Dashboard |
site.adminProfileUrl | Administrator-Profilseite |
site.adminLogoutUrl | Logout-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>UI-Beispiel: Schnelle Admin-Links
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
| Bedingung | Ergebnis |
|---|---|
| Benutzer nicht angemeldet | Komponente wird nicht angezeigt |
| Angemeldet ohne Bearbeitungsrechte | Admin-Links sichtbar, Edit-Button verborgen |
| Angemeldet mit Bearbeitungsrechten | Vollstä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.adminUrlsite.adminProfileUrlsite.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.




Discussion
Join the conversation and share your thoughts
No comments yet. Be the first to share your thoughts!