Attualmente utilizzo il seguente widget per visualizzare un banner/link dopo il primo post di un thread. Finora funziona bene:
<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>
Tuttavia, vorrei integrare il banner/link in un punto diverso, ovvero prima del pulsante di risposta. Ho contrassegnato la posizione in rosso di seguito:
Qualcuno può darmi un suggerimento su come realizzarlo?
So che la posizione/funzione è definita da questo. La domanda è come trovo questo NOME:POSIZIONE:
api.decorateWidget("NOME:POSIZIONE", helper => {
Moin
12 Gennaio 2024, 8:17am
2
OrkoGrayskull:
dopo il primo post
OrkoGrayskull:
La posizione che hai indicato nellâimmagine è dopo tutti i post dellâargomento. Quindi, quando ci saranno risposte, il tuo banner sarĂ al di sotto di questi e non direttamente sotto il primo post.
piffy
12 Gennaio 2024, 8:17am
3
Câè una presa per plugin chiamata topic-above-footer-buttons
Questo ti aiuta a vederli:
(deprecated) Plugin outlet locations theme component
Quindi segui questa guida:
Discourse include centinaia di Plugin Outlet che possono essere utilizzati per iniettare nuovo contenuto o sostituire il contenuto esistente nellâinterfaccia di Discourse. Gli âargomenti dellâoutletâ sono resi disponibili in modo che il contenuto possa essere personalizzato in base al contesto.
Scelta di un outlet
Per trovare il nome di un plugin outlet, cerca â<PluginOutletâ nel codice sorgente di Discourse, oppure utilizza il componente tema posizioni degli outlet dei plugin . (es. topic-aboveâŚ
Grazie. Ha funzionato.
Esempio di codice per 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">test</a>
</div>
</script>
Purtroppo, il pulsante/banner viene visualizzato solo quando lâutente è connesso. Come posso assicurarmi che il pulsante/banner venga visualizzato anche per gli utenti non registrati?
Sto usando questa posizione del tema: topic-footer-main-buttons-before-create