Facet Update: Bewerkrechten en snelle admin-links

Introducing page.isEditable and Quick Admin Links

Facet Update: Bewerkrechten en snelle admin-links

Deze update introduceert template-variabelen die rekening houden met permissies en administratieve URL-variabelen, waardoor het eenvoudiger wordt om editorgerichte interfaces direct in de frontend te bouwen.

Met deze toevoegingen kunnen templates bepalen of de huidige gebruiker een pagina mag bewerken en snelle toegang bieden tot administratieve acties.


✨ Nieuwe functies

page.isEditable

Facet biedt nu een nieuwe template-variabele:


page.isEditable

Deze variabele geeft aan of de huidige gebruiker toestemming heeft om de huidige pagina te bewerken.

Hiermee kunnen templates UI-elementen conditioneel weergeven die alleen bedoeld zijn voor editors.

Voorbeeld

{{#if page.isEditable}}
  <a href="{{ page.url }}?edit=1">Deze pagina bewerken</a>
{{/if}}

Typische toepassingen:

  • inline bewerkknoppen
  • editor toolbars
  • contextuele bewerkingsopties
  • paginabeheer tools

Als de gebruiker geen bewerkrechten heeft, wordt dit blok niet gerenderd.


Admin URL-variabelen

Facet biedt nu meerdere globale variabelen voor veelgebruikte admin-links:

VariabeleBeschrijving
site.adminUrlAdmin dashboard
site.adminProfileUrlAdmin profielpagina
site.adminLogoutUrlLogout URL

Deze variabelen maken het eenvoudiger om admin-navigatie in de frontend te integreren zonder backend-paden hard te coderen.

Voorbeeld

<a href="{{site.adminProfileUrl}}">Profiel</a>
<a href="{{site.adminLogoutUrl}}">Uitloggen</a>

Een veelvoorkomende toepassing van deze functies is een snelle admin-toolbar die zichtbaar is in de frontend voor ingelogde gebruikers.

Deze toolbar kan snelle toegang bieden tot:

  • de huidige pagina bewerken
  • het dashboard openen
  • pagina’s beheren
  • het profiel bekijken
  • uitloggen

Voorbeeldimplementatie:

{{#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}}

Gedragsoverzicht

VoorwaardeResultaat
Gebruiker niet ingelogdComponent niet zichtbaar
Ingelogd zonder bewerkrechtenAdmin-links zichtbaar, bewerkknop verborgen
Ingelogd met bewerkrechtenVolledige toolbar zichtbaar

Dit zorgt ervoor dat beheerfunctionaliteit alleen beschikbaar is voor geautoriseerde gebruikers.


Samenvatting

Deze release introduceert nieuwe mogelijkheden voor het bouwen van permissie-bewuste frontend interfaces.

Nieuwe template-variabelen

  • page.isEditable

Nieuwe site-variabelen

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

Deze verbeteringen maken het eenvoudiger om contextueel bewerken en admin-navigatie direct in Facet-templates te integreren, terwijl correcte toegangscontrole behouden blijft.

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!