mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/site_users.git
synced 2026-05-03 17:30:40 -03:00
Adiciona sub-módulo site_users_microsite e tema site_users_microsite_theme
Sub-módulo com ThemeNegotiator, controller de listagem de conteúdo por usuário, formulário de configuração de tipos de conteúdo por papel e serviços registrados. Tema com regiões header, highlighted, tabs, messages, content, sidebar, social e footer; template page.html.twig com header padrão gerado a partir dos dados do usuário (foto, nome, roles) quando a região header estiver vazia. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
123
README.md
123
README.md
@@ -108,6 +108,109 @@ if ($photo instanceof \Drupal\media\MediaInterface) {
|
||||
}
|
||||
```
|
||||
|
||||
## Sub-módulo: Site Users Microsite
|
||||
|
||||
O sub-módulo `site_users_microsite` provê micro-sites pessoais para cada usuário,
|
||||
acessíveis em `/user/{id}`, com tema próprio e sem a navegação principal do site.
|
||||
|
||||
### Funcionalidades
|
||||
|
||||
- Tema alternativo aplicado automaticamente em todas as rotas `/user/{id}` e `/user/{id}/content`
|
||||
- Página `/user/{id}/content` listando o conteúdo publicado pelo usuário
|
||||
- Configuração de quais tipos de conteúdo cada papel pode publicar no micro-site
|
||||
- Aba "Content" adicionada às páginas de perfil de usuário
|
||||
|
||||
### Instalação
|
||||
|
||||
O sub-módulo está neste repositório mas é ativado independentemente:
|
||||
|
||||
```bash
|
||||
drush en site_users_microsite
|
||||
```
|
||||
|
||||
O tema `site_users_microsite_theme` também precisa ser implantado e ativado
|
||||
(ver seção [Deploy do tema](#deploy-do-tema) abaixo).
|
||||
|
||||
### Configuração
|
||||
|
||||
Acesse as configurações em:
|
||||
**Administração > Configuração > Módulos Locais > Site Users > User Microsite**
|
||||
|
||||
`/admin/config/local-modules/site-users/microsite`
|
||||
|
||||
Configure quais tipos de conteúdo cada papel pode publicar no micro-site.
|
||||
|
||||
### Layout de blocos
|
||||
|
||||
No tema `site_users_microsite_theme`, configure os blocos em
|
||||
**Estrutura > Layout de blocos**:
|
||||
|
||||
| Bloco | Região sugerida |
|
||||
|---|---|
|
||||
| Informações do Usuário (ou bloco customizado) | Microsite Header |
|
||||
| Primary tabs | Tabs |
|
||||
| Status messages | Messages |
|
||||
| Main page content | Content |
|
||||
|
||||
### Permissões
|
||||
|
||||
| Permissão | Descrição |
|
||||
|---|---|
|
||||
| `administer site_users_microsite settings` | Configurar tipos de conteúdo por papel |
|
||||
|
||||
### Variáveis disponíveis no tema
|
||||
|
||||
O módulo injeta as seguintes variáveis em `page.html.twig` quando em rotas do micro-site:
|
||||
|
||||
```twig
|
||||
{{ microsite_user }} {# entidade UserInterface do dono do micro-site #}
|
||||
{{ microsite_user_name }} {# nome de exibição (string) #}
|
||||
{{ microsite_user_roles }} {# array de roles (exceto 'authenticated') #}
|
||||
{{ microsite_user_photo }} {# render array da foto padrão (view mode 'thumbnail') #}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Deploy do tema
|
||||
|
||||
O tema `site_users_microsite_theme` está versionado neste repositório em
|
||||
`themes/site_users_microsite_theme/`, mas o Drupal só descobre temas em
|
||||
`themes/custom/`. É necessário implantá-lo manualmente no servidor.
|
||||
|
||||
### Opção 1 — Symlink (recomendado em desenvolvimento)
|
||||
|
||||
```bash
|
||||
ln -s /caminho/para/site_users/themes/site_users_microsite_theme \
|
||||
/caminho/para/drupal/themes/custom/site_users_microsite_theme
|
||||
```
|
||||
|
||||
### Opção 2 — Cópia (recomendado em produção)
|
||||
|
||||
```bash
|
||||
cp -r themes/site_users_microsite_theme \
|
||||
/caminho/para/drupal/themes/custom/site_users_microsite_theme
|
||||
```
|
||||
|
||||
Após implantar, ative o tema:
|
||||
|
||||
```bash
|
||||
drush theme:enable site_users_microsite_theme
|
||||
```
|
||||
|
||||
O tema não precisa ser definido como tema padrão do site — o módulo
|
||||
`site_users_microsite` o aplica automaticamente via ThemeNegotiator apenas
|
||||
nas rotas de micro-site.
|
||||
|
||||
### Personalização do tema
|
||||
|
||||
- `base theme` em `site_users_microsite_theme.info.yml` está definido como `stable9`
|
||||
(tema base mínimo do core, sem estilos próprios). Altere para o tema principal
|
||||
do site se quiser herdar fontes e variáveis CSS.
|
||||
- O template `templates/layout/page.html.twig` define o layout completo da página.
|
||||
- O CSS base está em `css/microsite.css`.
|
||||
|
||||
---
|
||||
|
||||
## Estrutura do Módulo
|
||||
|
||||
```
|
||||
@@ -127,6 +230,26 @@ site_users/
|
||||
├── templates/
|
||||
│ ├── site-user-info-block.html.twig
|
||||
│ └── user--full.html.twig
|
||||
├── site_users_microsite/ ← sub-módulo
|
||||
│ ├── config/install/
|
||||
│ │ └── site_users_microsite.settings.yml
|
||||
│ ├── src/
|
||||
│ │ ├── Controller/MicrositeContentController.php
|
||||
│ │ ├── Form/MicrositeSettingsForm.php
|
||||
│ │ └── Theme/MicrositeThemeNegotiator.php
|
||||
│ ├── site_users_microsite.info.yml
|
||||
│ ├── site_users_microsite.links.menu.yml
|
||||
│ ├── site_users_microsite.links.task.yml
|
||||
│ ├── site_users_microsite.module
|
||||
│ ├── site_users_microsite.permissions.yml
|
||||
│ ├── site_users_microsite.routing.yml
|
||||
│ └── site_users_microsite.services.yml
|
||||
├── themes/
|
||||
│ └── site_users_microsite_theme/ ← tema (deploy em themes/custom/)
|
||||
│ ├── css/microsite.css
|
||||
│ ├── templates/layout/page.html.twig
|
||||
│ ├── site_users_microsite_theme.info.yml
|
||||
│ └── site_users_microsite_theme.libraries.yml
|
||||
├── site_users.info.yml
|
||||
├── site_users.install
|
||||
├── site_users.libraries.yml
|
||||
|
||||
Reference in New Issue
Block a user