Versatile Banner

Crie um componente de tema conforme descrito em Guia para iniciantes sobre como usar o Theme Creator e o Theme CLI para começar a criar um tema do Discourse, Guia do desenvolvedor para temas do Discourse ou em vários outros tópicos que você pode encontrar pesquisando por "desenvolvedor de tema".

Se isso não for útil, você precisará dizer mais sobre o que está tentando fazer.

5 curtidas

Olá, é possível converter o texto do Versatile Banner através de diferentes locais? Eu estaria interessado em traduzir a interface do usuário de francês para alemão, dependendo do local.

2 curtidas

Não sei. Mas Add localizable strings to themes and theme components pode oferecer algumas pistas. Acho que você precisa fazer um fork do componente de tema, mas não tenho certeza e não olhei o código recentemente para saber se estou certo.

2 curtidas

Infelizmente, o recurso de traduções de temas que Jay mencionou foi lançado logo antes da criação deste componente e acho que a documentação só foi publicada depois que comecei a trabalhar nele. Seria muito difícil atualizá-lo para suportar várias traduções neste estágio sem quebrar os Versatile Banners existentes :frowning: A abordagem de fork é provavelmente a sua melhor opção.

Minha esperança é que em algum momento lancemos um “Versatile Banner 2” que possa abordar alguns dos recursos ausentes e solicitações que surgiram ao longo dos anos.

3 curtidas

Existe uma maneira de exibir um banner em tópicos sob uma única categoria? O banner versátil usa URL e curingas, mas o Discourse não contém o nome da categoria na URL. Ou existe uma maneira de adicionar a categoria à URL do tópico?

1 curtida

Você pode adicioná-lo a uma categoria específica adicionando um link como, por exemplo, /c/support/* à configuração url must contain.

2 curtidas

Eu sei disso, é por isso que escrevi “tópicos sob uma única categoria”. Tópicos têm uma URL como /t/* que não contém o nome da categoria. Portanto, se você adicionar /c/support/* ele só aparecerá na página da lista de tópicos, não nos tópicos dessa categoria.

2 curtidas

Desculpe, eu li completamente errado. :slight_smile: Receio que não sei.

3 curtidas

A categoria é adicionada como uma classe à tag <body>, então você pode escrever CSS que exibe ou oculta o banner dependendo da categoria. Por exemplo:

/* Oculta o banner por padrão */
.custom-banner-outlet {
    display: none;
}

/* Exibe o banner na categoria "Geral" */
body.category-general .custom-banner-outlet {
    display: block;
}
3 curtidas

Estou animado para poder usar este banner, mas preciso limitar sua visibilidade a apenas certos grupos de nossos usuários. Usamos o Discourse para hospedar um LMS - espero que este seja visível para nossos alunos atuais, mas não para ex-alunos. Isso é possível ou existe outra maneira de conseguir isso?
Muito obrigado por qualquer conselho.

1 curtida

Eu acho que isso deve ser possível usando o componente de tema CSS Classes for Current User's Groups e adicionando um pouco de display: none; para o grupo relevante do qual você deseja ocultá-lo. :+1:

3 curtidas

Muito obrigado. Isso parece tentadoramente perto do que eu quero, mas infelizmente estou completamente perdido com CSS. Agradeço a sugestão!

1 curtida

Tudo bem. :slightly_smiling_face: Se você nos informar o nome do grupo do qual deseja ocultar o banner, podemos ajustar o código para atender às suas necessidades e mostrar onde colocá-lo. :+1:

Por exemplo:

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
Detalhes extras sobre como adicioná-lo ao seu site
  • Vá para /admin/customize/themes
  • Clique em instalar e depois em criar novo
  • Dê um nome e selecione ‘componente’.
  • Criar
  • Adicione-o ao seu tema
  • Clique no botão Editar CSS/HTML e cole o código na aba Comum
  • E salve. :+1:

4 curtidas

Como podemos pré-visualizar o tema sem ativá-lo? Quero poder experimentar sem prejudicar a experiência do usuário. Estamos no plano hospedado do Discourse, então não temos a capacidade de executar instâncias de teste.

Espero que haja um interruptor ou configuração que eu tenha esquecido.

2 curtidas
  1. Você pode adicionar outro Tema (provavelmente um clone do seu ‘normal’) - chame-o de Teste ou algo assim.
    • Mantenha o seu normal como o ‘padrão’.
  2. Certifique-se de incluir os mesmos Componentes de Tema exatos
  3. Selecione este para o seu usuário administrador

Você pode então mexer com este o quanto quiser. Outros podem (em teoria) selecionar o Tema, mas é muito improvável que o façam, a menos que seja claramente sinalizado.

Apenas lembre-se de selecionar o tema ‘normal’ quando terminar!

3 curtidas

Não sei se é viável, mas não custa perguntar.

Em um tópico longo, quando você começa de baixo e rola para cima, o banner aparece brevemente enquanto o fluxo de posts carrega posts mais antigos. Após o carregamento dos posts, há um “salto” visual, pois o banner é empurrado para cima do fluxo de posts. Acho isso um pouco chocante e ele não aparece tempo suficiente para interagir.

Idealmente, eu gostaria de ver o banner apenas acima do título de um tópico e não no meio do fluxo. Acho que não é um pedido trivial, pois presumo que o banner usa o below-site-header outlet, então seu comportamento é baseado no outlet e, portanto, esse “salto” é um comportamento esperado.

Existe uma maneira simples de saber se você está no topo da página?

1 curtida

Este é um ótimo conselho. Funcionou perfeitamente para mim.

Descobri que o tema clonado não precisa estar ativo. Ele pode ser visualizado quando inativo, portanto, não há necessidade de se preocupar com os usuários descobrirem.

Li isso com diversão. Esse era o meu pensamento quando comecei a explorar temas. Eu queria experimentar e carreguei alguns temas diferentes. Os membros do fórum os encontraram muito rapidamente.

Para ter certeza absoluta de que seus usuários não verão o que você está experimentando, deixe a opção “O tema pode ser selecionado pelos usuários” desmarcada. Os usuários não poderão escolher o tema, mesmo que ele esteja ativo.

3 curtidas

Existe uma maneira de exibir isso apenas para níveis de confiança específicos?

Dessa forma, em vez de usar um cookie para lembrar a configuração do usuário de mostrar/ocultar, todos os usuários o verão até atingirem um nível de confiança específico?

1 curtida

Este componente de banner não está disponível no momento, mas o Welcome Link Banner está, se essa for uma boa alternativa?

2 curtidas

Quero usar este banner para que toda semana alguém do meu país seja homenageado no meu fórum, o qual terá uma foto da pessoa homenageada e um texto, mas quero conceder acesso aos plugins aos meus moderadores, pois nem toda semana estarei disponível, existe como conceder acesso a este plugin aos meus moderadores para que eles também possam colocar foto e texto?