Personalizando o Componente de Tema do Cabeçalho da Marca

Estou tentando personalizar o “Componente de Tema do Cabeçalho da Marca” do Discourse. Não tenho certeza de qual abordagem seguir aqui. Quero adicionar itens de submenu, por exemplo, minha estrutura de links ficaria assim:

vídeo
áudio - livros
          - palestras,
tópicos - desenvolvimento web
           - tecnologia
           - engenharia
suporte

Mas adicionar itens de submenu não é uma opção padrão com este componente. Sei que existe um componente Discourse Header Submenus que tem parte da funcionalidade que eu quero, mas apenas no modo desktop.

Não há plugin outlets disponíveis neste componente que eu conheça, então não posso injetar código e acho que não posso sobrescrever o template porque ele não faz parte da base de código principal do Discourse, então não posso acessá-lo, tanto quanto sei (embora seja criado e mantido pelo Discourse).

Os links serão buscados de uma API, mas estou apenas tentando codificá-los nesta fase.

De forma mais geral - é possível personalizar componentes de tema fora do repositório principal do Discourse? Qual é a abordagem apropriada a ser tomada aqui?

Obrigado pela sua ajuda!

1 curtida

Olá Harley,

Sim, você pode personalizar o componente de tema, criando um fork dele e fazendo as alterações no código de acordo com sua necessidade. Você poderá então instalar esse componente em sua instância através do URL do GitHub do seu fork.

Obrigado por responder, Meghna! Isso é ótimo e eu comecei com isso. No entanto, encontrei um problema com essa abordagem - tentei inserir novas configurações em meu componente de tema bifurcado (através do painel de administração do componente de tema da minha instância Discourse), mas as configurações do componente de tema original ainda estavam sendo aplicadas à minha própria versão bifurcada. Eu podia ver que um novo componente estava lá, mas ele tinha as mesmas configurações do antigo. Você acha que pode ser porque eles têm o mesmo nome? Eu também tentei excluir o componente de tema original do meu tema, mas isso removeu tanto a versão original quanto a bifurcada da prévia do meu tema. Obrigado pela sua ajuda!