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