Kategorienliste mit Bannern

Diese Komponente fügt optionale Banner zu den Standard-Kategorieseiten-Stilen Nur Kategorien und Kategorien mit hervorgehobenen Themen hinzu:

Sie können Banner in den Komponenteneinstellungen hinzufügen, indem Sie die Kategorie direkt unter dem Banner, eine Bannerfarbe und den Überschriftentext definieren. Es gibt auch eine Option, die standardmäßigen farbigen Rahmen auszublenden:

Um Stile hinzuzufügen, können Sie die allgemeine Klasse sowie spezifische Banner nach Kategorie-ID auswählen:

.category list .category-list-banner {
  &.category-5 { [einen bestimmten Banner stylen] }
  &:after { [die Überschriften stylen] }
}

Zum Beispiel können Sie Ihre Kategorien farbcodieren:

Oder Hintergrundbilder hinzufügen:

:warning: Diese Komponente fügt der Kategorieseite nur Layout-Elemente hinzu. Sie können sich daher nicht auf diese Überschriften an anderer Stelle auf Ihrer Website beziehen. Eine weitere Warnung: Es gibt auf mobilen Geräten keinen Standardseitenstil Nur Kategorien. Es werden immer auch hervorgehobene Themen angezeigt.

:+1: Credits: Die Komponente wurde vom Erscheinungsbild der Cfx.re Community sowie von @godgutten’s ursprünglicher Lösung inspiriert, um diesen Look zu erreichen, wie in Wie füge ich Kategorie-Banner hinzu? geteilt.

28 „Gefällt mir“

Danke, Nolo! Sehr cool! Deine Komponente hat unsere Community verbessert.

1 „Gefällt mir“

Nolo, ich habe ein weiteres Problem beim Wechsel des Forumstils in den Nachtmodus festgestellt. Wenn du es beheben kannst, wäre es perfekt!

Das sieht nach dem erwarteten Verhalten aus. Der Farbslot akzeptiert jeden Wert, der in CSS als background-color verwendet werden kann. Wenn du also einen Hex-Wert angibst, bleibt die Farbe in verschiedenen Modi und Themes gleich.

Wenn du tatsächlich keine Hintergrundfarbe möchtest, solltest du none oder transparent angeben.

Wenn du eine Hintergrundfarbe möchtest, die sich mit den Modi ändert, musst du sie als CSS-Eigenschaft angeben: Du kannst eine der vordefinierten Eigenschaften von Discourse verwenden, wie z. B. var(--secondary-high). Oder du definierst eigene, wie in Update themes and plugins to support automatic dark mode erklärt.

3 „Gefällt mir“

Nolo, danke, das hat geholfen!

2 „Gefällt mir“

Hallo, ich liebe es zu sehen, was Sie geschaffen haben. Aber es ist erlaubt, mich auch anzuerkennen und mich nicht nur auszurauben und einen Teil meiner Arbeit zu nutzen…

Schön, dass dir die Komponente gefällt! Ich bin mir nicht sicher, warum du mir vorwirfst, dich bestohlen zu haben, indem ich deine Arbeit verwendet habe…?

Die Erstellung dieser Komponente wurde von diesem Thema inspiriert:

Ich habe den Ersteller auf deine Lösung verwiesen, war dann aber daran interessiert, wie man dies ohne hartcodierte Vorlagen lösen kann und indem man Werte aus einer Einstellungsliste innerhalb von SCSS dekonstruiert. Der Komponentencode dreht sich also im Wesentlichen um diese Lösung:
https://meta.discourse.org/t/how-to-add-settings-to-your-discourse-theme/82557/52?u=nolo

Aber auf jeden Fall: Wenn du das Gefühl hast, ich hätte etwas von deiner Arbeit verwendet und ich es versäumt hätte, Credits zu geben, lass es mich bitte wissen und ich werde den ersten Beitrag aktualisieren :ok_hand:

1 „Gefällt mir“

Ja, bitte, ich würde mich über eine Art von Anerkennung freuen. Aber es liegt an Ihnen. Ansonsten sieht es gut aus und ich werde diese Theme-Komponente in meinem Beitrag empfehlen, da dies neuen Benutzern den Einstieg erleichtert.

2 „Gefällt mir“

@ Nolo
Gibt es im TC oder mit CSS im Theme eine Möglichkeit, den Titeltext linksbündig auszurichten, genau wie in Ihrem zweiten Beispiel.

Gibt es auch eine Möglichkeit (wenn kein Bannerbild verwendet wird), die Kopfzeile auf die Dicke einer Textzeile zu reduzieren.
Und wenn ja, können Sie die Textgröße so anpassen, dass sie nicht ganz so groß ist?

2 „Gefällt mir“

Ja sicher, du kannst die Banner mit diesen Klassen gestalten:

Wenn du bestehende Deklarationen auf der allgemeinen Klasse überschreiben möchtest, müsstest du die !important-Eigenschaft verwenden. Z. B. für die von dir erwähnten Stile:

.category-list .category-list-banner {
    justify-content: flex-start !important;
    min-height: unset !important;
    &:after {
        font-size: var(--font-up-3) !important;
    }
}

Das liegt daran, dass die Stile tatsächlich auf den spezifischen Bannern deklariert sind. Ich könnte das in der Komponente verbessern, aber vorerst müsstest du mit important überschreiben.

3 „Gefällt mir“

Vielen Dank für diese Komponente!! Ich entwickle ein politisches Forum und die Möglichkeit, diese Art von Trennung anzuwenden, ist entscheidend.
Obwohl es bereits eine enorme Verbesserung für mein Forum darstellt, wäre es ein großer Unterschied, wenn die Header über eine URL referenziert werden könnten, da dies die Erstellung von Schaltflächen am oberen Rand des Forums ermöglichen würde, von denen aus der Benutzer leicht auf derselben Seite navigieren könnte. Das wäre eine extrem agile Funktionalität, wenn das Forum (hoffentlich) viel größer wird. Ist das derzeit möglich?

1 „Gefällt mir“

Danke für den Vorschlag @lisandro_iaffar. Diese Komponente bietet jedoch nur eine schlanke Lösung, die keine HTML-Vorlagen ändert. Wenn Sie auf die Abschnitte verweisen möchten, müssten Sie einen Ansatz wie den von GitHub - discourse/discourse-minimal-category-boxes angebotenen verwenden.

2 „Gefällt mir“

Vielen Dank für Ihre Antwort und die Ratschläge :slight_smile:
Und nochmals vielen Dank für diese Komponente, sie hat mein Forum-Layout so sehr verbessert :smiley:

2 „Gefällt mir“

Ich bin gespannt, das auszuprobieren, da ich etwas zu viele Kategorien erstellt habe und die Möglichkeit, sie in Gruppen zu organisieren, eine große Hilfe sein wird.

Ich werde es wissen, wenn ich es versuche. Dies könnte auch eine Möglichkeit sein, alte, weniger genutzte Kategorien von der Titelseite zu entfernen, oder? Sie wären weiterhin über die neue Seitenleiste verfügbar.

1 „Gefällt mir“

Ja, sicher :+1: Tatsächlich treffe ich fast immer eine Auswahl von Kategorien auf verschiedenen Seitenelementen (Seitenleiste, Kopfzeile, Navigationsleiste, Kategorieseite usw.). Es ist wie die Website-Struktur einer Webseite. Es ist wichtig, dass sie gut organisiert ist, aber sie muss nicht Ihre UI-Präsentation bestimmen.

Hallo @manuel, ich möchte wissen, ob diese wunderbare Komponente nach den Sprachaktualisierungen noch funktioniert. Ich habe sie installiert und sie funktioniert bei mir nicht. Vielen Dank im Voraus.

Wie fügt man Hintergrundbilder hinzu?

Hallo, willkommen :wave:

Sie können CSS in Ihren Themes oder einer separaten Theme-Komponente hinzufügen:

Wenn Sie beispielsweise der Kategorie-ID 4 ein Bild hinzufügen möchten, würden Sie etwas Ähnliches tun:

.category-list .category-list-banner {
    &.category-4 {
        background-image: url(https://images.unsplash.com/32/Mc8kW4x9Q3aRR3RkP5Im_IMG_4417.jpg);
        background-size: cover;
    }
}

Dies ist nur ein Beispiel. Weitere Informationen finden Sie in den background CSS-Eigenschaften.

Auch hilfreiche Links :+1: :

2 „Gefällt mir“

Ein Beitrag wurde in ein neues Thema aufgeteilt: Zusätzliche Informationen zur Kategoriebox hinzufügen