Quintino A. G. Souza bd24e6eb6b feat: View mode por role/usuário com seletor de visibilidade no perfil
- Cria view mode e display 'restricted' (template mostra só username + mensagem)
- Adiciona campo field_user_selected_view_mode (string, default: restricted)
- update_10006: provisiona view mode, display e campo; inicializa role_view_modes
- Seletor de visibilidade no form de edição do perfil (owner e admin)
- hook_entity_view_mode_alter lê o campo e valida existência do display
- Formulário de admin: checkboxes de view modes por role (exceto anonymous e authenticated)
- Schema YAML completo para site_users.settings incluindo role_view_modes
- Tradução pt-BR de todas as novas strings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 08:06:10 -03:00

Site Users

Módulo Drupal para customização de perfis de usuário, incluindo campos adicionais e gerenciamento de fotos.

Funcionalidades

  • Campos de perfil customizados:

    • Nome completo
    • Telefone
    • Categoria
    • Código do departamento
    • Biografia
  • Gerenciamento de fotos:

    • Suporte a múltiplas fotos por usuário
    • Seleção de foto padrão
    • Limite configurável de quantidade de fotos
    • Integração com Media Library
  • Controle de permissões granular:

    • Visualizar/editar campos do próprio perfil
    • Visualizar/editar campos de qualquer usuário
    • Gerenciar fotos próprias ou de outros usuários
  • Bloco de informações:

    • Exibe dados do usuário em páginas de perfil
    • Template customizável via Twig

Requisitos

  • Drupal 10 ou 11
  • Módulos core: User, Telephone, Text, Media, Media Library

Instalação

  1. Copie o módulo para modules/custom/site_users
  2. Ative o módulo via Drush ou interface administrativa:
drush en site_users

Configuração

Acesse as configurações em: Administração > Configuração > Módulos Locais > Site Users

/admin/config/local-modules/site-users

Opções disponíveis

Configuração Descrição Padrão
Quantidade de fotos Número máximo de fotos por usuário 5
Atributo LDAP Nome do atributo LDAP para foto (se aplicável) jpegPhoto

Permissões

Permissão Descrição
administer site_users settings Administrar configurações do módulo
view own user profile fields Visualizar campos do próprio perfil
view any user profile fields Visualizar campos de qualquer usuário
edit own user profile fields Editar campos do próprio perfil
edit any user profile fields Editar campos de qualquer usuário
manage own user photos Gerenciar próprias fotos
manage user photos Gerenciar fotos de qualquer usuário

Uso do Bloco

O módulo fornece o bloco "Informações do Usuário" que pode ser posicionado em regiões do tema para exibir informações do perfil nas páginas /user/{id}.

Para adicionar o bloco:

  1. Acesse Estrutura > Layout de blocos
  2. Adicione o bloco "Informações do Usuário" na região desejada
  3. Configure a visibilidade para páginas de usuário

Customização de Templates

Os templates podem ser sobrescritos no tema:

  • site-user-info-block.html.twig - Bloco de informações do usuário
  • user--full.html.twig - Página completa do usuário

Variáveis disponíveis no bloco

{{ user_info.uid }}        {# ID do usuário #}
{{ user_info.username }}   {# Nome de exibição #}
{{ user_info.name }}       {# Nome completo #}
{{ user_info.phone }}      {# Telefone #}
{{ user_info.category }}   {# Categoria #}
{{ user_info.dept_code }}  {# Código do departamento #}
{{ user_info.bio }}        {# Biografia #}
{{ user_info.photo_url }}  {# URL da foto padrão #}
{{ user_info.photo_alt }}  {# Texto alternativo da foto #}
{{ user }}                 {# Entidade completa do usuário #}

API

Obter foto padrão de um usuário

$photo = site_users_get_default_photo($user);
if ($photo instanceof \Drupal\media\MediaInterface) {
  // Usar a foto
}

Estrutura do Módulo

site_users/
├── config/
│   ├── install/
│   │   └── site_users.settings.yml
│   └── optional/
│       └── field.*.yml
├── css/
│   └── site-user-info-block.css
├── src/
│   ├── Form/
│   │   └── SiteUsersSettingsForm.php
│   └── Plugin/Block/
│       └── UserInfoBlock.php
├── templates/
│   ├── site-user-info-block.html.twig
│   └── user--full.html.twig
├── site_users.info.yml
├── site_users.install
├── site_users.libraries.yml
├── site_users.links.menu.yml
├── site_users.module
├── site_users.permissions.yml
└── site_users.routing.yml

Licença

Este módulo é software livre distribuído sob a licença GPL-2.0-or-later.

Description
No description provided
Readme 94 KiB
Languages
PHP 85%
Twig 9.3%
CSS 5.7%