Actualización de Facet: Permisos de edición y enlaces rápidos de administración

Introducing page.isEditable and Quick Admin Links

Actualización de Facet: Permisos de edición y enlaces rápidos de administración

Esta actualización introduce variables de plantilla sensibles a permisos y URLs utilitarias de administración, lo que facilita la creación de interfaces orientadas a editores directamente en el frontend.

Estas mejoras permiten que las plantillas determinen si el usuario actual puede editar una página y proporcionen acceso rápido a acciones administrativas.


✨ Nuevas funcionalidades

page.isEditable

Facet ahora expone una nueva variable de plantilla:


page.isEditable

Esta variable indica si el usuario actual tiene permiso para editar la página actual.

Permite a las plantillas renderizar condicionalmente elementos de interfaz destinados únicamente a los editores.

Ejemplo

{{#if page.isEditable}}
  <a href="{{ page.url }}?edit=1">Editar esta página</a>
{{/if}}

Casos de uso comunes:

  • botones de edición en línea
  • barras de herramientas para editores
  • controles de edición contextual
  • herramientas de gestión a nivel de página

Si el usuario no tiene permiso de edición, este bloque no se renderizará.


Variables de URL de administración

Facet ahora proporciona varias variables globales para enlaces administrativos comunes:

VariableDescripción
site.adminUrlPanel de administración
site.adminProfileUrlPágina de perfil del administrador
site.adminLogoutUrlURL de cierre de sesión

Estas variables simplifican la integración de navegación administrativa en el frontend sin tener que codificar rutas del backend manualmente.

Ejemplo

<a href="{{site.adminProfileUrl}}">Perfil</a>
<a href="{{site.adminLogoutUrl}}">Cerrar sesión</a>

Ejemplo de interfaz: enlaces rápidos de administración

Un caso de uso común para estas funcionalidades es mostrar una barra de administración rápida en el frontend para usuarios que hayan iniciado sesión.

Esta barra puede proporcionar accesos directos para:

  • editar la página actual
  • abrir el panel de administración
  • gestionar páginas
  • acceder al perfil
  • cerrar sesión

Ejemplo de implementación:

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

Resumen de comportamiento

CondiciónResultado
Usuario no autenticadoEl componente no se muestra
Usuario autenticado sin permiso de ediciónEnlaces de administración visibles, botón de edición oculto
Usuario autenticado con permiso de ediciónBarra completa visible

Esto garantiza que las herramientas de gestión solo estén disponibles para usuarios autorizados.


Resumen

Esta versión añade nuevas capacidades para construir interfaces frontend conscientes de permisos.

Nuevas variables de plantilla

  • page.isEditable

Nuevas variables globales

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

Estas mejoras facilitan la integración de edición contextual y navegación administrativa directamente en las plantillas de Facet, manteniendo al mismo tiempo un control adecuado de permisos.

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!