Il problema: voglio che gli utenti possano pubblicare come personaggi di gioco di ruolo. Vorrei che potessero inserire un modello in un post, qualcosa come il seguente:
[wrap="characterpost"]
[characterav]https://image.link.example.png[/characterav]
[charactername][[Nome del Personaggio]][/charactername]
[/wrap]
E poi usare uno script in modo che l’immagine sostituisca l’avatar originale e il link al topic del nome del personaggio venga posizionato davanti al nome utente. Ad esempio, se il post dice normalmente “NomeUtente”, vorrei sostituirlo con “Nome del Personaggio interpretato da NomeUtente”.
(“Nome del Personaggio” includerebbe un link a un topic con la scheda del personaggio, sperando di usare semplicemente il componente del tema wikilinks per comodità.)
Ho incollato una struttura di post in un Codepen e sono riuscito a scrivere un po’ di javascript che farebbe esattamente questo. Tuttavia, quando si è trattato di aggiungerlo a un decoratore di post e di farlo funzionare in diretta con l’API, mi sono scontrato con un muro.
Ecco cosa ho in common>header al momento:
<script type="text/discourse-plugin" version="0.8">
api.decorateCookedElement(
element => {
// trova il tag characterpost all'interno del post
const characterPost = element.querySelector('[data-wrap="characterpost"]');
// trova il genitore del tag characterpost, che contiene avatar e nome utente
const characterPostParent = characterPost.closest('article');
// rendilo rosso per vedere se funziona
characterPostParent.style.backgroundColor = "red";
},
{
id: 'render-character-post', onlyStream: true, afterAdopt: true
}
);
</script>
Questo ha iniziato a generare un errore. È possibile accedere all’involucro “article” per i post usando decorateCookedElement in modo da poter raggiungere il nome utente e l’avatar? Se no, come posso procedere?
Questo è molto bello, grazie per averlo condiviso! Stavo cercando qualcosa di simile anch’io. Sai se questo influisce anche su come i post appaiono nella ricerca?
Ottima domanda! Il nome del tag e il suo contenuto fanno parte del contenuto del post; questo potrebbe influire sui risultati della ricerca.
Proverò qualcosa di più pulito, come usare una modale e salvare nei campi personalizzati invece.
MODIFICA: Penso di aver capito male se stai parlando di modifiche che appaiono nei risultati della ricerca, la risposta è no (né apparirà l’HTML).
Potrebbe essere un’idea proporre, magari nella wiki della community, una guida per i template dei forum. Spesso le persone cercano idee per diversi tipi di configurazioni di forum. In questo caso potrebbe essere un po’ di nicchia. Ma un template per GDR da tavolo che includa questa funzionalità che hai creato.