mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/site_users.git
synced 2026-05-03 14:30:41 -03:00
Sub-módulo site_users_blog:
- Tipo de conteúdo blog_post (título, corpo, imagem, assuntos)
- Vocabulário blog_tags para categorias
- Listagem em /user/{uid}/blog via Views com filtro contextual por autor
- Padrão Pathauto: user/[node:author:uid]/blog/[node:title]
- hook_node_presave: preenche field_site_section com o autor
- hook_node_access: restringe criação às roles configuradas
- hook_preprocess_structural_pages_menu: injeta item "Blog" quando
usuário tem posts publicados
- Plugin BlogUserHandler: resolve usuário ancestral para rotas de blog
(post individual e listagem Views)
- Link "Post de blog" no menu "Adicionar" da conta
- Página de configuração de roles permitidas
- Update 10001: adiciona field_site_section a posts existentes
MicrositeThemeNegotiator:
- Injeta path.current para cobrir rotas sem parâmetro 'user' (ex.: Views)
- Qualquer path /user/{uid}/... recebe o tema do microsite
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
693 B
YAML
19 lines
693 B
YAML
services:
|
|
site_users_microsite.path_processor:
|
|
class: Drupal\site_users_microsite\PathProcessor\MicrositeSubpagePathProcessor
|
|
arguments: ['@path_alias.manager', '@language_manager']
|
|
tags:
|
|
- { name: path_processor_inbound, priority: 200 }
|
|
- { name: path_processor_outbound, priority: 200 }
|
|
|
|
site_users_microsite.theme_negotiator:
|
|
class: Drupal\site_users_microsite\Theme\MicrositeThemeNegotiator
|
|
arguments: ['@path_alias.manager', '@path.current']
|
|
tags:
|
|
- { name: theme_negotiator, priority: 100 }
|
|
|
|
site_users_microsite.route_subscriber:
|
|
class: Drupal\site_users_microsite\Routing\RouteSubscriber
|
|
tags:
|
|
- { name: event_subscriber }
|