Atualmente, uso o seguinte widget para exibir um banner/link após o primeiro post de um tópico. Isso funciona bem até agora:
<script type="text/discourse-plugin" version="0.8">
const { iconNode } = require("discourse-common/lib/icon-library");
api.decorateWidget("post:after", helper => {
const firstPost = helper.attrs.firstPost;
const h = helper.h;
if (firstPost) {
return h("div#support", [
h(
'a.icon', {
href:'link',
title: 'Support-Icon'
}, iconNode('heart')),
h(
'a.link', {
href: "link",
title: 'Support-Link'
}, 'some text',
),
]);
}
});
</script>
No entanto, gostaria de integrar o banner/link em um local diferente - especificamente antes do botão de resposta. Marquei a posição em vermelho abaixo:
Alguém pode me dar uma dica de como realizar isso?
Sei que a posição/função é definida por isso. A questão é como encontrar este NOME:LOCALIZAÇÃO:
api.decorateWidget("NOME:LOCALIZAÇÃO", helper => {
Moin
Janeiro 12, 2024, 8:17am
2
OrkoGrayskull:
após a primeira postagem
OrkoGrayskull:
A posição que você marcou na imagem é após todas as postagens do tópico. Portanto, quando houver respostas, seu banner ficará abaixo delas e não diretamente abaixo da primeira postagem.
2 curtidas
piffy
Janeiro 12, 2024, 8:17am
3
Há uma saída de plugin lá chamada topic-above-footer-buttons
Isso ajuda você a vê-los:
(deprecated) Plugin outlet locations theme component
Em seguida, siga este guia:
Discourse includes hundreds of Plugin Outlets which can be used to inject new content or replace existing contend in the Discourse UI. ‘Outlet arguments’ are made available so that content can be customized based on the context.
Choosing an outlet
To find the name of a plugin outlet, search Discourse core for “<PluginOutlet”, or use the plugin outlet locations theme component. (e.g. topic-above-posts).
Wrapper outlets
Some outlets in core look like <PluginOutlet @name="foo" />. These allow you…
4 curtidas
Obrigado. Funcionou.
Exemplo de código para o Head:
<script type='text/x-handlebars' data-template-name='/connectors/topic-footer-main-buttons-before-create/team-support'>
<div id="support">
<a href="link" title="Support-Icon" class="icon">
<svg class="fa d-icon d-icon-heart svg-icon svg-node" aria-hidden="true"><use xlink:href="#heart"></use></svg>
</a>
<a href="link" title="Support-Link" class="link">texto</a>
</div>
</script>
1 curtida
Infelizmente, o botão/banner só é exibido quando o usuário está logado. Como posso garantir que o botão/banner também seja exibido para usuários não registrados?
Estou usando esta posição de tema: topic-footer-main-buttons-before-create
system
(system)
Fechado
Fevereiro 18, 2024, 6:56am
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.