Mise à jour Facet : Permissions d’édition et liens d’administration rapides

Introducing page.isEditable and Quick Admin Links

Mise à jour Facet : Permissions d’édition et liens d’administration rapides

Cette mise à jour introduit des variables de template sensibles aux permissions ainsi que des URLs utilitaires pour l’administration, facilitant la création d’interfaces dédiées aux éditeurs directement dans le frontend.

Ces ajouts permettent aux templates de déterminer si l’utilisateur courant peut modifier une page et d’offrir un accès rapide aux actions administratives.


✨ Nouvelles fonctionnalités

page.isEditable

Facet expose désormais une nouvelle variable de template :


page.isEditable

Cette variable indique si l’utilisateur courant possède la permission de modifier la page actuelle.

Elle permet aux templates d’afficher conditionnellement des éléments d’interface destinés uniquement aux éditeurs.

Exemple

{{#if page.isEditable}}
  <a href="{{ page.url }}?edit=1">Modifier cette page</a>
{{/if}}

Cas d’usage typiques :

  • boutons d’édition inline
  • barres d’outils pour éditeurs
  • contrôles d’édition contextuels
  • outils de gestion au niveau de la page

Si l’utilisateur ne possède pas la permission d’édition, ce bloc ne sera pas rendu.


Variables d’URL d’administration

Facet fournit désormais plusieurs variables globales pour les liens administratifs courants :

VariableDescription
site.adminUrlTableau de bord d’administration
site.adminProfileUrlPage de profil administrateur
site.adminLogoutUrlURL de déconnexion

Ces variables simplifient l’intégration de la navigation administrative dans le frontend sans avoir à coder en dur les chemins backend.

Exemple

<a href="{{site.adminProfileUrl}}">Profil</a>
<a href="{{site.adminLogoutUrl}}">Déconnexion</a>

Exemple d’interface : liens d’administration rapides

Un cas d’utilisation courant consiste à afficher une barre d’outils d’administration rapide sur le frontend pour les utilisateurs connectés.

Cette barre peut fournir des accès rapides pour :

  • modifier la page actuelle
  • ouvrir le tableau de bord
  • gérer les pages
  • accéder au profil
  • se déconnecter

Exemple d’implémentation :

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

Résumé du comportement

ConditionRésultat
Utilisateur non connectéLe composant n’est pas visible
Connecté sans permission d’éditionLiens admin visibles, bouton d’édition masqué
Connecté avec permission d’éditionBarre complète visible

Cela garantit que les outils d’administration ne sont accessibles qu’aux utilisateurs autorisés.


Résumé

Cette version introduit de nouvelles capacités pour construire des interfaces frontend sensibles aux permissions.

Nouvelles variables de template

  • page.isEditable

Nouvelles variables globales

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

Ces améliorations facilitent l’intégration de l’édition contextuelle et de la navigation administrative directement dans les templates Facet tout en respectant les règles de permission.

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!