Как реализовать собственный порядок тегов

Привет.

Я пытаюсь настроить пользовательский порядок отображения тегов тем по значению их имени группы тегов.

Я изучал компоненты тем и думаю, что это правильный путь, но хотел бы получить ваше мнение, а также некоторые рекомендации, так как это будет мой первый компонент темы.

Спасибо.

В итоге я использовал поле описания тега для хранения целого числа, чтобы симулировать желаемый порядок. Дело в том, что группа тегов не доступна ни в структуре тега, ни в DOM, поэтому я выбрал такой подход.

После этого, используя фрагмент кода в заголовке из редактора темы, я внедрил следующий скрипт в DOM.

Это позволило мне динамически переставлять теги. Хотя сейчас это своего рода «костыль», по крайней мере, он работает.

<script type="text/discourse-plugin" version="0.8">
  api.addTagsHtmlCallback(function(topic, params) {
    const containers = document.querySelectorAll(".discourse-tags");
    for (const container of containers) {
      const children = Array.from(container.children);

      children.sort((a, b) => {
        const orderA = parseInt(a.getAttribute("title"));
        const orderB = parseInt(b.getAttribute("title"));
        return orderA - orderB;
      });

      children.forEach(child => container.appendChild(child));
    }
  }, {priority: 100});
</script>