From b34ffc86f0560c1cd33af5cc3049ebe6bd3613da Mon Sep 17 00:00:00 2001 From: "Quintino A. G. Souza" Date: Mon, 2 Feb 2026 08:06:20 -0300 Subject: [PATCH] =?UTF-8?q?Adiciona=20documenta=C3=A7=C3=A3o=20do=20ShareL?= =?UTF-8?q?inksBlock=20ao=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/README.md b/README.md index e1431ef..85782bb 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ Módulo Drupal com ferramentas utilitárias reutilizáveis para outros módulos ## Funcionalidades - **Menu de configuração "Local Modules"**: Fornece uma seção centralizada em `/admin/config/local-modules` para configurações de módulos desenvolvidos internamente. +- **Bloco Share Links**: Bloco de compartilhamento em redes sociais extensível via hooks. ## Requisitos @@ -35,3 +36,65 @@ E declarando a dependência em `.info.yml`: dependencies: - site_tools ``` + +## Bloco Share Links + +O bloco **Share Links** funciona como um container que coleta e exibe links de compartilhamento fornecidos por outros módulos através de hooks. + +### Configuração + +1. Acesse `/admin/structure/block` +2. Posicione o bloco "Share Links" na região desejada + +### Fornecendo Links + +Implemente `hook_site_tools_share_links()` no seu módulo: + +```php +/** + * Implements hook_site_tools_share_links(). + */ +function meu_modulo_site_tools_share_links(): array { + $current_url = \Drupal::request()->getUri(); + $encoded_url = urlencode($current_url); + + return [ + 'facebook' => [ + 'content' => [ + '#type' => 'link', + '#title' => t('Facebook'), + '#url' => \Drupal\Core\Url::fromUri( + "https://www.facebook.com/sharer/sharer.php?u={$encoded_url}" + ), + '#attributes' => [ + 'target' => '_blank', + 'rel' => 'noopener', + ], + ], + 'weight' => 0, + 'provider' => 'meu_modulo', + ], + ]; +} +``` + +### Alterando Links + +Use `hook_site_tools_share_links_alter()` para modificar ou remover links: + +```php +/** + * Implements hook_site_tools_share_links_alter(). + */ +function meu_modulo_site_tools_share_links_alter(array &$links): void { + unset($links['twitter']); +} +``` + +### Documentação Completa + +Consulte [docs/share-links.md](docs/share-links.md) para documentação detalhada incluindo: +- Exemplos de integração com AddToAny +- Personalização do template Twig +- Classes CSS disponíveis +- Gerenciamento de cache