Adiciona widget UserPhotosWidget para gerenciar fotos do usuário

Widget unificado para field_user_photos: exibe tira de thumbnails em
linha com destaque (borda azul) na foto padrão; clicar num thumbnail
seleciona-o como padrão. O campo field_user_default_photo é atualizado
ao salvar. Edição/remoção de mídias individuais ficam a cargo do menu
contextual do Drupal. O hook _site_users_add_default_photo_selector()
é ignorado automaticamente quando o widget está ativo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 10:39:22 -03:00
parent 0b137e8d12
commit 0c7b346530
4 changed files with 370 additions and 0 deletions

View File

@@ -327,8 +327,18 @@ function site_users_form_user_register_form_alter(&$form, FormStateInterface $fo
/**
* Adiciona o seletor de foto padrão ao formulário.
*
* Ignorado quando o widget user_photos_widget está ativo para
* field_user_photos, pois ele já gerencia a foto padrão.
*/
function _site_users_add_default_photo_selector(&$form, FormStateInterface $form_state) {
// Verificar se o widget unificado está sendo usado.
$form_display = $form_state->getFormObject()->getFormDisplay($form_state);
$component = $form_display->getComponent('field_user_photos');
if ($component && ($component['type'] ?? '') === 'user_photos_widget') {
return;
}
/** @var \Drupal\user\UserInterface $user */
$user = $form_state->getFormObject()->getEntity();