Remoção do suporte para "sobrescritas de templates" e templates específicos para mobile

No passado, você podia substituir o template .hbs para uma Rota ou Componente do Discourse adicionando um arquivo com nome idêntico no diretório templates/ do seu tema e plugin. Isso era muito poderoso, mas também trazia problemas significativos de manutenibilidade.

Portanto, recomendamos contra substituições de template nos últimos anos e as desativamos oficialmente em novembro de 2024. Atualmente, a melhor solução é usar Plugin Outlets Wrapper para renderizar conteúdo no lugar do conteúdo principal.

Este mês (março de 2025) introduziremos um banner de aviso administrativo para substituições de template e planejamos remover completamente o suporte antes do final do Q2.

Cronograma

(datas estimadas - sujeitas a alterações)

  • :white_check_mark: Novembro de 2024 - introdução da desativação

  • :white_check_mark: Março de 2025 - banner de aviso administrativo ativado

  • :white_check_mark: Junho de 2025 - remoção da funcionalidade (alvo para a semana de 2 de junho)

Atualizando temas / plugins

Desenvolvedores de temas e plugins devem consultar o guia Plugin Outlet para saber mais sobre plugin outlets wrapper. Sinta-se à vontade para abrir PRs ou tópicos Dev se desejar solicitar um novo ponto de extensão para seu caso de uso.

9 curtidas

Existe uma maneira fácil de ver qual tema/plugin está acionando este aviso de administrador? Procurei em todos os meus temas e plugins e não vejo um diretório templates/ na raiz de seus repositórios Git em nenhum deles.

2 curtidas

Ele está em /assets/javascripts/discourse ou em /javascripts/discourse, não na raiz.

2 curtidas

O banner de aviso deve exibir o nome do tema/plugin. Ele também será impresso no console do desenvolvedor do navegador.

Caso contrário, talvez tenhamos um problema com a descontinuação - você poderia compartilhar um link para um site afetado?

Obrigado. Não apareceu no banner de aviso, mas apareceu no console do desenvolvedor, embora não muito claramente.

Aconteceu de ser este componente.

4 curtidas

Obrigado @JonahAragon1. A identificação do tema deve ser muito mais clara do que isso, então vou corrigir isso :eyes:

2 curtidas

Esta alteração corrigirá o banner de aviso para identificar temas com mais clareza:

4 curtidas

Você encontrou uma solução para trazer o DDG de volta como sugestão de pesquisa? Desativei o componente por enquanto.

Não, eu acabei de decidir desativar o formulário inteiramente. Não acho que ninguém na minha comunidade o use e realmente não vejo utilidade. Vi que o autor do componente propôs uma atualização que requer uma mudança central, então provavelmente voltará a funcionar em breve.

2 curtidas

Isso significa que o cartão de usuário experimental será introduzido no núcleo antes que isso seja totalmente descontinuado? Atualmente, recebo este aviso para este componente GitHub - discourse/experimental-usercard

1 curtida

Arquivamos o repositório experimental-usercard e não pretendemos atualizar mais o componente de tema. Portanto, receio que você precisará desativá-lo antes que as substituições de template sejam bloqueadas em junho de 2025.

Esperamos incorporar parte do experimento ao núcleo em algum momento, mas não temos um cronograma específico para isso. O user-card é uma parte muito customizada da UI, então a implementação de grandes alterações exigirá planejamento cuidadoso e mudanças em todo o ecossistema.

3 curtidas

Tudo está no caminho certo para este objetivo, então pretendemos descontinuar o suporte para substituições de template na semana que começa em 2 de junho.

Como isso acontecerá antes do lançamento estável 3.5, fizemos um backport do banner de aviso de administrador para o estável 3.4, para que as comunidades no estável recebam um aviso razoável antes de sua atualização para o 3.5.

(cc @RGJ, pois sei que você hospeda muitos fóruns no estável)

4 curtidas

O suporte para substituições de modelo e modelos específicos para dispositivos móveis foi descontinuado.

3 curtidas

estou recebendo este erro inespecífico (apenas aponta para o tema ‘Padrão’). a dica de olhar no console ajudou. acho que isso está em nosso CSS personalizado, mas só assumi este fórum recentemente, então terei que investigar um pouco. quando isso deve quebrar, para que eu possa planejar investigar a tempo?


Screenshot 2025-07-26 at 16.16.52

As substituições de template foram removidas na versão mais recente do núcleo do Discourse, então presumo que você esteja executando uma versão mais antiga. Quando você atualizar para a versão mais recente, a substituição deixará de funcionar.

Provavelmente há algo como <script type="text/x/handlebars"> em seu tema padrão, que deve ser removido.

1 curtida

huh. interessante. só começamos a ver este banner depois que nossa equipe de devops atualizou para 3.4.6. o override personalizado ainda está sendo renderizado embora (e você está certo sobre onde ele está / como ele se parece). é possível que o chatgpt esteja interpretando mal o que este override faz, ainda estou descobrindo tudo isso

tudo corrigido, o aviso sumiu, o estilo foi preservado. woot

1 curtida