Files
site_users/README.md
Quintino A. G. Souza 6215759045 feat: Módulo Site Users para customização de perfis de usuário
Módulo Drupal para gerenciamento de campos e fotos de perfil de usuários:
- Campos customizados: nome, telefone, categoria, departamento, biografia
- Suporte a múltiplas fotos com seleção de foto padrão
- Controle de permissões granular para visualização e edição
- Bloco de informações do usuário para exibição em páginas
- Configurações administrativas para limite de fotos e integração LDAP

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 07:35:26 -03:00

4.0 KiB

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.