Nein, nein, kostenlos
.
EDIT:
Sie können dieses Skript in einer Theme-Komponente installieren.
Es ordnet die Elemente der Kategorieliste nur auf der Seite selbst an.
Dies wirkt sich nicht auf Vorlagen oder interne Elemente aus, um eine bessere Kompatibilität zu gewährleisten.
Abhängig von Ihrem Theme sind möglicherweise Anpassungen erforderlich.
Lassen Sie mich wissen, ob es für Sie funktioniert.
js
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
const { defaultHomepage } = require('discourse/lib/utilities');
if (url !== '/categories' && (url !== '/' || defaultHomepage() !== 'categories')) {
return;
}
const desktop_category_page_style = api.container.lookup('service:site-settings').desktop_category_page_style;
const sort = ({parent, nodes, selector}) => {
if (!parent || !nodes.length) {
return
}
Array.from(nodes).sort((a, b) => {
const valueA = a.querySelector(selector).textContent;
const valueB = b.querySelector(selector).textContent;
return valueB - valueA;
})
.forEach(row => parent.appendChild(row));
}
if (desktop_category_page_style.startsWith('categories')) {
const parent = document.querySelector('.category-list tbody[aria-labelledby="categories-only-category"]');
sort({
parent: parent,
nodes: parent?.querySelectorAll('tr'),
selector: 'td.topics span.value'
})
}
else if (desktop_category_page_style === 'subcategories_with_featured_topics') {
const childs = document.querySelectorAll('table.category-list');
sort({
parent: childs[0]?.parentElement,
nodes: childs,
selector: 'th.parent-category span.value'
})
} else {
// boxes doesn't have a count displayed
}
});
</script>