Sembra che questo non funzioni più dopo la deprecazione di Discourse.NavItem, e qualcuno ha menzionato in questo post che Link personalizzati nella barra di navigazione superiore possono risolvere il problema:
Tuttavia, questo componente non genera link dinamici in base all’URL da verificare in base alla posizione corrente.
Nel mio caso d’uso, vorrei impostare link diversi per la pagina principale e le sottocategorie, ad esempio per mostrare un elemento di navigazione con filtro tag “in corso”/“completato” in base alle categorie correnti. Prima potevo usare il codice sottostante, ma ora non funziona più:
<script>
Discourse.ExternalNavItem = Discourse.NavItem.extend({
href : function() {
return this.get('href');
}.property('href')
});
I18n.translations.en.js.filters.unfinished = { title: "tbc", help: "placeholder" };
I18n.translations.en.js.filters.finished = { title: "finished", help: "placeholder" };
Discourse.NavItem.reopenClass({
buildList : function(category, args) {
var list = this._super(category, args);
var url = category ? category.url : "";
// Il menu principale e 2 categorie specifiche avranno quei 2 elementi di navigazione con URL diversi
if(!category || (category && url && (url.includes("mix") || url.includes("other")))) {
var tbc_url = category ? "/tags" + url + "/tbc" : "/tags/tbc";
var finish_url = category ? "/tags" + url + "/finished" : "/tags/finished";
list.push(Discourse.ExternalNavItem.create({href: tbc_url, name: 'tbc'}));
list.push(Discourse.ExternalNavItem.create({href: finish_url, name: 'finish'}));
}
return list;
}
});
</script>
Qualcuno può aiutarmi a capire come aggiornare questo codice in base all’attuale componente navigation-item? O, più in generale, come posso trovare l’utilizzo corrente della sostituzione di Discourse.NavItem?
Grazie!