Este componente de tema permite personalizar o botão Novo Tópico em uma lista de tópicos de categoria ou tag, bem como o nome da ação e o botão no compositor (destacado abaixo). Se você tiver uma categoria de Bug, por exemplo, poderá atualizar esses textos para dizer “Reportar Bug”:
Esta configuração permite definir o filtro (nome da tag ou categoria), o ícone para o botão “Novo Tópico” (isso não altera os ícones no compositor), bem como o nome da ação no topo do compositor e o botão “Criar Tópico” do compositor.
Há uma configuração adicional, habilitada por padrão, chamada inherit parent category. Quando habilitada, todas as categorias filhas também terão seu texto alterado (a menos que especificado de outra forma nas configurações).
\u003e:information_source: Observe que se você configurar uma tag, ela substituirá a categoria selecionada.
Ideias para aprimoramentos futuros
Texto localizável para diferentes idiomas
Suporte para combinações de categorias e tags, e múltiplas tags
\u003cbr\u003e
\u003e:discourse2: Hospedado por nós? Componentes de tema estão disponíveis para uso em nossos planos Standard, Business e Enterprise.
Hoje, eu estava trabalhando em uma versão muito mais simples disso usando api.customizeComposerText()
Esta é uma solução muito melhor. Obrigado @awesomerobot!
Em meus experimentos, nunca consegui substituir o rótulo do botão do Composer para as categorias usando o plugin discourse-post-voting. Isso se torna um problema maior quando várias categorias estão habilitadas para votação de posts.
Se posso sugerir; habilitar suporte para substituir os rótulos do discourse-post-voting seria um ótimo aprimoramento. ( :
Este é um ótimo componente de tema! Uma ideia para levá-lo um passo adiante poderia ser esta:
Se você está renomeando o botão porque deseja efetivamente mudar o tipo de tópico, então você deve mudar a nomenclatura em toda a *categoria.
Por exemplo:
Você tem uma categoria chamada Eventos. Você mudaria efetivamente a palavra “tópico” em toda a categoria para “eventos”. Não é “Novo Tópico”, é “Novo Evento”, em vez de uma lista de Tópicos, você teria uma lista de Eventos, etc.
Você vê isso em outras ferramentas onde você muda o caso de uso principal de algo. Veja o que o AirTable faz quando você cria uma nova tabela. As tabelas, por padrão, têm “registros”.
Tratar o componente de tema dessa forma nos permitiria, de forma fácil e eficaz, rebrandar uma categoria como uma entidade mais específica. Solicitações de Suporte, Eventos, etc.
Encontrei este componente de tema ao pesquisar, porque eu queria mudar esta palavra de “Tópico” para “Eventos”:
Ele também altera o texto do botão Responder para a mesma string, o que é menos que ideal porque não se trata de criar outro relatório de bug, é uma resposta
Quais as chances de um outro campo poder ser adicionado ao editor para alterar o texto do botão de resposta (ou deixá-lo em branco para manter como Responder?
Desculpe, mais uma coisa: isso também não parece respeitar o caso em que duas subcategorias (cada uma de um pai diferente) têm o mesmo slug. por exemplo:
pai1
sub1
pai2
sub1
Neste caso, não consigo fazer com que o componente de tema diferencie entre as duas subcategorias, e ambas compartilham a mesma configuração do editor.
Eu ignorei completamente o botão de resposta! Por enquanto, eu apenas o mantive como reply, mas uma configuração separada para alterar seu texto faria sentido.
Bom ponto, parece que usar o ID da categoria em vez do nome da categoria nas configurações seria a melhor maneira de evitar isso. Isso significa que quaisquer configurações existentes que você tenha precisarão ser atualizadas.
Hmm tentando usar este componente sem sucesso e vendo muitos avisos em meus logs como este.
Mensagem (4 cópias relatadas)
[DiscourseJsProcessor] DEPRECATION: Usar {{attrs}} para referenciar argumentos nomeados foi descontinuado. {{attrs.canCreateTopic}} deve ser atualizado para {{@canCreateTopic}}. (‘discourse/components/custom-new-topic-button.hbs’ @ L2:C8) [id de deprecation: attrs-arg-access] Veja Ember.js - Deprecations para mais detalhes.
at theme-transpiler.js:3164:26752
at j.computed (theme-transpiler.js:3168:1693)
at j.computed (theme-transpiler.js:3168:161)
at j.computed (theme-transpiler.js:3168:1693)
at D (theme-transpiler.js:3168:1754)
at te (theme-transpiler.js:3168:1318)
at PathExpression (theme-transpiler.js:3198:21763)
at yo (theme-transpiler.js:3187:2776)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Ml (theme-transpiler.js:3187:3350)
at yo (theme-transpiler.js:3187:3013)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Bi (theme-transpiler.js:3187:3879)
at PA (theme-transpiler.js:3190:3002)
at Cf (theme-transpiler.js:3190:9856)
at Al (theme-transpiler.js:3176:35353)
at gf (theme-transpiler.js:3176:35600)
at D (theme-transpiler.js:3198:42250)
at Sft.o.precompile (theme-transpiler.js:3281:3078)
at dDe (theme-transpiler.js:3161:1003)
at e.CallExpression (theme-transpiler.js:3159:33796)
at h (theme-transpiler.js:10:111797)
at e.uPe [as _call] (theme-transpiler.js:59:16906)
at e.oPe [as call] (theme-transpiler.js:59:16726)
at e.lPe [as visit] (theme-transpiler.js:59:17700)
at t.visitQueue (theme-transpiler.js:59:40645)
at t.visitSingle (theme-tr…
Backtrace
/var/www/discourse/lib/discourse_js_processor.rb:133:in block in create_new_context' mini_racer-0.8.0/lib/mini_racer.rb:273:in block in attach’
mini_racer-0.8.0/lib/mini_racer.rb:242:in call_unsafe' mini_racer-0.8.0/lib/mini_racer.rb:242:in block (2 levels) in call’
mini_racer-0.8.0/lib/mini_racer.rb:369:in timeout' mini_racer-0.8.0/lib/mini_racer.rb:241:in block in call’
mini_racer-0.8.0/lib/mini_racer.rb:240:in synchronize' mini_racer-0.8.0/lib/mini_racer.rb:240:in call’
/var/www/discourse/lib/discourse_js_processor.rb:168:in block in v8_call' /var/www/discourse/lib/discourse_js_processor.rb:167:in synchronize’
Hmm estranho, testei no Discourse mais recente e tudo está funcionando bem — acabei de mesclar uma atualização no componente que resolverá esse problema de depreciação, você pode atualizar e tentar novamente?
Ao usar seu Componente, o botão muda de nome, mas pressioná-lo não inicia mais o Wizard selecionado nas configurações da categoria. Ficaríamos felizes em usar seu componente em um grande site de produção, mas não podemos agora. Espero que possa ser corrigido. Sem pressão
Não estou vendo isso, tenho a mesma configuração e meus botões funcionam. Você pode precisar olhar outros plugins ou TCs. Estou nas últimas compilações, para sua informação.
Portanto, agora a opção de personalizar também o texto do botão de resposta no compositor e nas postagens (ainda com base na tag e categoria) será incluída.