Atualização do Facet: Permissões de edição e links rápidos de administração

Introducing page.isEditable and Quick Admin Links

Atualização do Facet: Permissões de edição e links rápidos de administração

Esta atualização introduz variáveis de template sensíveis a permissões e URLs utilitárias de administração, facilitando a criação de interfaces voltadas para editores diretamente no frontend.

Essas melhorias permitem que os templates determinem se o usuário atual pode editar uma página e forneçam acesso rápido a ações administrativas.


✨ Novos recursos

page.isEditable

O Facet agora expõe uma nova variável de template:


page.isEditable

Essa variável indica se o usuário atual possui permissão para editar a página atual.

Ela permite que os templates renderizem condicionalmente elementos de interface destinados apenas a editores.

Exemplo

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

Casos de uso comuns:

  • botões de edição inline
  • barras de ferramentas para editores
  • controles de edição contextual
  • ferramentas de gerenciamento de página

Se o usuário não tiver permissão de edição, esse bloco não será renderizado.


Variáveis de URL de administração

O Facet agora fornece várias variáveis globais para links administrativos comuns:

VariávelDescrição
site.adminUrlPainel administrativo
site.adminProfileUrlPágina de perfil do administrador
site.adminLogoutUrlURL de logout

Essas variáveis simplificam a integração da navegação administrativa no frontend sem a necessidade de codificar manualmente caminhos do backend.

Exemplo

<a href="{{site.adminProfileUrl}}">Perfil</a>
<a href="{{site.adminLogoutUrl}}">Sair</a>

Um caso de uso comum para esses recursos é uma barra de administração rápida exibida no frontend para usuários autenticados.

Essa barra pode fornecer atalhos para:

  • editar a página atual
  • abrir o painel administrativo
  • gerenciar páginas
  • acessar o perfil
  • sair da conta

Exemplo de implementação:

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

Resumo do comportamento

CondiçãoResultado
Usuário não autenticadoComponente não visível
Autenticado sem permissão de ediçãoLinks administrativos visíveis, botão de edição oculto
Autenticado com permissão de ediçãoBarra completa visível

Isso garante que as ferramentas administrativas estejam disponíveis apenas para usuários autorizados.


Resumo

Esta versão adiciona novas capacidades para construir interfaces frontend conscientes de permissões.

Novas variáveis de template

  • page.isEditable

Novas variáveis globais

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

Essas melhorias facilitam a integração de edição contextual e navegação administrativa diretamente nos templates do Facet, mantendo ao mesmo tempo um controle adequado de permissões.

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!