Ist es möglich, Dropdown-Namen zu ändern?

Hallo Community :slight_smile:

Weiß zufällig jemand, ob es eine Option gibt, Dropdown-Namen innerhalb einer bestimmten Kategorie zu ändern?

Ich würde gerne die Teile ‘alle’ und ‘alle Tags’ anpassen:

So ziemlich alle Texte können angepasst werden:

Ich vermute, Sie müssen zum Beispiel bearbeiten:

2 „Gefällt mir“

Aber es wird sich nicht nur für bestimmte Kategorien ändern.

Ich habe an einer sehr provisorischen CSS-Lösung gearbeitet, sie ist nicht perfekt… Und ich bin sowieso etwas zurückhaltend, etwas so Provisorisches zu teilen. :confounded:

5 „Gefällt mir“

Verstanden, danke für deine Hilfe! @merefield @Canapin

3 „Gefällt mir“

Oh Entschuldigung, überflogen!

Ja, sie sind global.

1 „Gefällt mir“

Na los :wink: :wink:

Ich finde es übermäßig komplex, besonders wenn Unterkategorien nicht als solche im HTML-Code definiert sind… Ich habe etwas halbwegs Funktionierendes, aber ich denke, es sollte richtig gemacht werden, und die Discourse JS API könnte dabei helfen. Leider weiß ich nicht viel darüber.

5 „Gefällt mir“

Hallo :wave:

Ich habe jetzt eine Theme-Komponente erstellt, um dies zu erreichen…

Sie enthält zwei Einstellungen, um es einfacher zu machen.

category name
Erster Platz: category slug
Zweiter Platz: category dropdown title

tag name
Erster Platz: category slug
Zweiter Platz: tag dropdown title

Was dann so aussehen wird.

Hinzufügen des Unterkategorie-Tag-Titels

Ich hoffe, es hilft :slightly_smiling_face:


Bearbeitung: Ich habe die Dropdown-Breite korrigiert, damit sie korrekt an die benutzerdefinierte Textbreite angepasst ist. UX: fix the dropdown width to keep the custom content width · VaperinaDEV/category-breadcrumb-dropdown-title@faca71c · GitHub

8 „Gefällt mir“

Wow, tolle Arbeit @Don – du bringst mich zum Staunen :exploding_head: :star_struck:

2 „Gefällt mir“

Hört, hört!
:man_mage:

Aus den Tiefen der SCSS-Mysterien und den Feinheiten der Front-End-Alchemie ist Sir Don auferstanden. Funktionen erobernd, Schleifen meisternd und Listen entschlüsselnd, verleihen wir ihm stolz die glanzvolle Front-End-Medaille für Auszeichnung :sports_medal::person_bowing:.

Und Ihre Komponente funktioniert ohne eine einzige JS-Zeile…

Happy James Corden GIF by The Late Late Show with James Corden

1 „Gefällt mir“

Bitte sag mir, dass GPT4bot dir dabei geholfen hat, das zu schreiben :laughing:

4 „Gefällt mir“

100% ja, fürchte ich.

2 „Gefällt mir“

Ok, diese Lösung ist beeindruckend, aber du kannst das auch @Don:

api
  .modifySelectKit("category-drop")
  .replaceContent((component, content) => {
    let newContent = [];
    content.forEach((item) => {
      if (
        component.category?.slug === "general" &&
        item.id === "all-categories"
      ) {
        item.name = "jojo";
      }

      newContent.push(item);
    });
    return newContent;
  });

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/select-kit/addon/mixins/plugin-api.js listet alle Aktionen auf, die du ausführen kannst:

  • appendContent
  • prependContent
  • replaceContent
  • onChange

Lass mich wissen, wenn du Probleme bei der Verwendung hast. Es sollte wahrscheinlich besser dokumentiert sein, aber ich bin hier, wenn du Fragen hast.

6 „Gefällt mir“

@Don @j.jaffeux ihr seid absolut großartig, Leute!! :fire:

3 „Gefällt mir“