Disclaimer specifico per categoria

Ciao, bentornato!

Se vedi uno spazio vuoto, è perché hai un errore. find non esiste in helper.
Di solito puoi vederlo nella console del browser (F12).

Probabilmente vuoi qualcosa del genere:

api.decorateWidget('post:before', (helper, args) => {
    if (helper.widget.model.topic.category_id === 51) {
        return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
    }
});

o usando HTML grezzo:

const RawHtml = require("discourse/widgets/raw-html").default;

api.decorateWidget('post:before', (helper, args) => {
    if (helper.widget.model.topic.category_id === 51) {
         return new RawHtml({html: `<div class="container">${settings.MY_DISCLAIMER}</div>`})
    }
});

Puoi leggere questo post che spiega come funziona questo helper h.

Puoi fare quanto segue se vuoi aggiungere dell’HTML prima del contenuto cotto:

api.decorateWidget('post-contents:before', (helper, args) => {
    const { topic } = helper.widget.findAncestorModel();

    if (topic && topic.category_id === 51) {
         return helper.h("div.disclaimer", settings.MY_DISCLAIMER);
    }
});
3 Mi Piace