mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/site_users.git
synced 2026-03-11 02:37:41 -03:00
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>
This commit is contained in:
64
templates/site-user-info-block.html.twig
Normal file
64
templates/site-user-info-block.html.twig
Normal file
@@ -0,0 +1,64 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Template para o bloco de informações do usuário.
|
||||
*
|
||||
* Variáveis disponíveis:
|
||||
* - user_info: Array com informações do usuário:
|
||||
* - uid: ID do usuário
|
||||
* - username: Nome de usuário (display name)
|
||||
* - name: Nome completo
|
||||
* - phone: Telefone
|
||||
* - category: Categoria
|
||||
* - dept_code: Código do departamento
|
||||
* - bio: Biografia
|
||||
* - photo_url: URL da foto padrão
|
||||
* - photo_alt: Texto alternativo da foto
|
||||
* - user: Entidade do usuário.
|
||||
*/
|
||||
#}
|
||||
<div class="site-user-info-block">
|
||||
<div class="site-user-info-block__photo">
|
||||
{% if user_info.photo_url %}
|
||||
<img src="{{ user_info.photo_url }}" alt="{{ user_info.photo_alt }}" class="site-user-info-block__image" />
|
||||
{% else %}
|
||||
<div class="site-user-info-block__no-photo">
|
||||
<span class="site-user-info-block__initials">
|
||||
{{ user_info.name ? user_info.name|first|upper : user_info.username|first|upper }}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="site-user-info-block__details">
|
||||
<h2 class="site-user-info-block__name">
|
||||
{{ user_info.name ?: user_info.username }}
|
||||
</h2>
|
||||
|
||||
{% if user_info.category %}
|
||||
<div class="site-user-info-block__category">
|
||||
{{ user_info.category }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if user_info.dept_code %}
|
||||
<div class="site-user-info-block__dept">
|
||||
<span class="site-user-info-block__label">{{ 'Departamento:'|t }}</span>
|
||||
{{ user_info.dept_code }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if user_info.phone %}
|
||||
<div class="site-user-info-block__phone">
|
||||
<span class="site-user-info-block__label">{{ 'Telefone:'|t }}</span>
|
||||
<a href="tel:{{ user_info.phone }}">{{ user_info.phone }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if user_info.bio %}
|
||||
<div class="site-user-info-block__bio">
|
||||
{{ user_info.bio }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
18
templates/user--full.html.twig
Normal file
18
templates/user--full.html.twig
Normal file
@@ -0,0 +1,18 @@
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Template para página de perfil de usuário (view mode: full).
|
||||
*
|
||||
* Variáveis disponíveis:
|
||||
* - content: Campos do usuário renderizados.
|
||||
* - user: Objeto do usuário.
|
||||
* - attributes: Atributos HTML do elemento wrapper.
|
||||
*
|
||||
* @see template_preprocess_user()
|
||||
*/
|
||||
#}
|
||||
<article{{ attributes.addClass('user-profile') }}>
|
||||
{% if content %}
|
||||
{{ content }}
|
||||
{% endif %}
|
||||
</article>
|
||||
Reference in New Issue
Block a user