Como reabrir o widget header-contents?

Olá! Sou iniciante, então espero sua ajuda. Quero alterar o conteúdo em <header>...</header>. Ao abrir os arquivos de origem, vejo que o widget “header-content” diz:

createWidget("header-contents", {
   tagName: "div.contents.clearfix",
   template:hbs`
     {{home-logo attrs=attrs}}
     {{#if attrs.topic}}
       {{header-topic-info attrs=attrs}}
     {{/if}}
     <div class="panel clearfix" role="navigation">{{yield}}</div>
   `,
});

Eu escrevo em common/head_tag.html


<script type="text/discourse-plugin" version="0.8.13">
     api.reopenWidget("header-contents", {
tagName: "div.contents.clearfix",
template:hbs`
<h1>Olá! Ajude-me por favor!!!</h1>
<div class="panel clearfix" role="navigation">{{yield}}</div>
`
});
</script>

Isso não funciona. Ajude-me por favor.

1 curtida

Olá, @Deomid_Fedorov, bem-vindo à Meta :wave:

Se você verificar o console do navegador, verá algo como isto:

ReferenceError: hbs não está definido

Mas mesmo que você corrija isso, ainda terá problemas para fazer isso funcionar porque os templates devem ser pré-compilados no servidor, não no lado do cliente.

Temos muitas maneiras de personalizar o cabeçalho. Se você me disser o que está tentando fazer, provavelmente poderei compartilhar uma maneira de você obter o resultado desejado.

3 curtidas

Saudações, Joe! Muito obrigado pela sua presteza. Quero dizer que estou começando a gostar muito do Discourse, mas há algumas dificuldades com as quais ainda não consegui lidar. Em geral, tenho um grande desejo: quero poder incorporar meu código HTML onde quiser, em qualquer tag, e quero poder remover alguns elementos que considero supérfluos.

Li o post Developing Discourse Themes & Theme Components
No entanto, essas instruções não foram suficientes para resolver meus problemas.

Vamos passar a exemplos específicos:

  1. Como incorporo meu código na tag <header> entre os blocos <div class="title"> e <div class="navigation">?
  2. Como impeço a geração do elemento <ul id="navigation-bar">?

Quero avisar que meu conhecimento de inglês não é perfeito, então pode haver erros no texto. Espero compreensão.

1 curtida

Sem problemas, podemos resolver isso.

Eu sei a que você está se referindo aqui.

mas não tenho certeza a qual elemento você se refere aqui

Você pode adicionar uma captura de tela de onde deseja adicionar novos elementos?

Se o seu site não precisar desse elemento, você pode ocultá-lo com CSS. Algo como isto.

#navigation-bar {
  display: none;
}

Dito isso, esse elemento oferece aos usuários uma maneira fácil de navegar entre os diferentes filtros para listas de tópicos, e eu não recomendo removê-lo - especialmente no celular.

No entanto, você conhece sua comunidade melhor do que ninguém. Então, se funcionar para você, então… ótimo :+1:

2 curtidas


É isso que quero dizer. Preciso colocar meu bloco personalizado onde apontei com a seta na captura de tela.
Estou enviando outra captura de tela para que você possa entender melhor o resultado que desejo obter:

Obrigado novamente pela sua atenção. Tenho boas habilidades em CSS. Sei que escrevendo display: none posso ocultar o elemento. Mas eu gostaria de ter uma experiência mais robusta. Gostaria de poder gerenciar templates e widgets como um verdadeiro profissional. Acho que há uma maneira de fazer isso de forma mais correta. Por exemplo, reescrever o template ou algo assim.