Versatile Banner

Erstellen Sie eine Themenkomponente, wie im Leitfaden für Anfänger zur Verwendung von Theme Creator und Theme CLI zum Erstellen eines Discourse-Themas, im Entwicklerhandbuch für Discourse-Themen oder in mehreren anderen Themen beschrieben, die Sie durch die Suche nach „Theme Developer“ finden können.

Wenn das nicht hilfreich ist, müssen Sie mehr darüber sagen, was Sie zu tun versuchen.

5 „Gefällt mir“

Hallo, ist es möglich, den Text des vielseitigen Banners über verschiedene Lokalisierungen hinweg zu konvertieren? Ich wäre daran interessiert, die Benutzeroberfläche je nach Lokalisierung von Französisch nach Deutsch zu übersetzen.

2 „Gefällt mir“

Ich weiß es nicht. Aber Add localizable strings to themes and theme components könnte einige Hinweise geben. Ich glaube, dass Sie die Theme-Komponente forken müssen, aber ich bin mir nicht sicher und habe den Code in letzter Zeit nicht angesehen, um zu wissen, ob ich richtig liege.

2 „Gefällt mir“

Leider kam die von Jay erwähnte Theme-Übersetzungsfunktion heraus, kurz bevor diese Komponente erstellt wurde, und ich glaube nicht, dass die Dokumentation veröffentlicht wurde, bis ich mit der Arbeit daran begonnen hatte. Es wäre zu diesem Zeitpunkt sehr schwierig, sie zur Unterstützung mehrerer Übersetzungen zu aktualisieren, ohne bestehende Vielseitige Banner zu beschädigen :frowning: Der Fork-Ansatz ist wahrscheinlich Ihre beste Wahl.

Meine Hoffnung ist, dass wir irgendwann einen „Vielseitigen Banner 2“ herausbringen werden, der einige der fehlenden Funktionen und Anfragen bewältigen kann, die im Laufe der Jahre eingegangen sind.

3 „Gefällt mir“

Gibt es eine Möglichkeit, ein Banner für Themen unter einer einzelnen Kategorie anzuzeigen? Vielseitige Banner verwenden URLs und Wildcards, aber Discourse enthält den Kategorienamen nicht in der URL. Oder gibt es eine Möglichkeit, die Kategorie zur Topic-URL hinzuzufügen?

1 „Gefällt mir“

Sie können es zu einer bestimmten Kategorie hinzufügen, indem Sie einen Link wie z. B. /c/support/* zur Einstellung url muss enthalten hinzufügen.

2 „Gefällt mir“

Ich weiß das, deshalb habe ich “Themen unter einer einzigen Kategorie” geschrieben. Themen haben eine URL wie /t/*, die keinen Kategorienamen enthält. Wenn Sie also /c/support/* hinzufügen, wird dies nur auf der Themenlistenseite angezeigt, nicht auf den Themen unter dieser Kategorie.

2 „Gefällt mir“

Entschuldigung, das habe ich total falsch gelesen. :slight_smile: Ich fürchte, das weiß ich nicht.

3 „Gefällt mir“

Die Kategorie wird als Klasse zum <body>-Tag hinzugefügt, sodass Sie CSS schreiben können, das das Banner je nach Kategorie ein- oder ausblendet. Zum Beispiel:

/* Banner standardmäßig ausblenden */
.custom-banner-outlet {
    display: none;
}

/* Banner in der Kategorie "Allgemein" anzeigen */
body.category-general .custom-banner-outlet {
    display: block;
}
3 „Gefällt mir“

Ich freue mich darauf, dieses Banner nutzen zu können, muss aber dessen Sichtbarkeit auf bestimmte Benutzergruppen beschränken. Wir nutzen Discourse, um ein LMS zu hosten – ich hoffe, dass dieses für unsere aktuellen Studenten sichtbar ist, aber nicht für Alumni. Ist das möglich oder gibt es eine andere Möglichkeit, dies zu erreichen?
Vielen Dank für jeden Rat.

1 „Gefällt mir“

Ich denke, das sollte mit der Theme-Komponente CSS Classes for Current User's Groups und dem Hinzufügen eines kleinen display: none; für die relevante Gruppe, von der Sie es ausblenden möchten, möglich sein. :+1:

3 „Gefällt mir“

Vielen Dank. Das fühlt sich verlockend nah an dem an, was ich suche, aber leider bin ich mit CSS völlig überfordert. Ich schätze den Vorschlag aber trotzdem!

1 „Gefällt mir“

Das ist in Ordnung. :slightly_smiling_face: Wenn Sie uns den Gruppennamen mitteilen, von dem Sie das Banner ausblenden möchten, können wir den Code an Ihre Bedürfnisse anpassen und Ihnen zeigen, wo Sie ihn einfügen müssen. :+1:

Zum Beispiel:

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
Zusätzliche Details zum Hinzufügen zu Ihrer Website
  • Gehen Sie zu /admin/customize/themes
  • Klicken Sie auf installieren und dann auf neu erstellen
  • Geben Sie ihm einen Namen und wählen Sie ‘Komponente’.
  • Erstellen
  • Fügen Sie es Ihrem Thema hinzu
  • Klicken Sie auf die Schaltfläche CSS/HTML bearbeiten und fügen Sie den Code in den Tab Allgemein ein
  • Und speichern. :+1:

4 „Gefällt mir“

Wie können wir das Theme in der Vorschau anzeigen, ohne es zu aktivieren? Ich möchte experimentieren können, ohne die Benutzererfahrung zu beeinträchtigen. Wir nutzen den Discourse-Hosting-Plan, daher haben wir keine Möglichkeit, Testinstanzen auszuführen.

Ich hoffe, es gibt eine Einstellung oder Option, die ich übersehen habe.

2 „Gefällt mir“
  1. Sie können ein weiteres Theme hinzufügen (wahrscheinlich eine Kopie Ihres ‘normalen’ Themes) – nennen Sie es Test oder etwas Ähnliches.
    • Behalten Sie Ihr normales Theme als ‘Standard’.
  2. Stellen Sie sicher, dass Sie genau die gleichen Theme-Komponenten einschließen.
  3. Wählen Sie dieses für Ihren Admin-Benutzer aus.

Sie können dann so viel mit diesem herumspielen, wie Sie möchten. Andere können (in der Theorie) das Theme auswählen, aber es ist sehr unwahrscheinlich, dass sie dies tun, es sei denn, sie werden deutlich darauf hingewiesen.

Denken Sie daran, das ‘normale’ Theme auszuwählen, wenn Sie fertig sind!

3 „Gefällt mir“

Ich glaube, es ist vielleicht nicht machbar, aber fragen kostet nichts.

In einem langen Thema, wenn Sie von unten nach oben scrollen, erscheint das Banner kurz, während der Post-Stream ältere Beiträge lädt. Nachdem die Beiträge geladen sind, gibt es einen visuellen „Sprung“, wenn das Banner über den Post-Stream geschoben wird. Ich finde es etwas störend und es erscheint nicht lange genug, um damit zu interagieren.

Idealerweise möchte ich das Banner nur über dem Titel eines Themas sehen und nicht mitten im Stream. Ich denke jedoch, dass dies keine triviale Anfrage ist, da ich davon ausgehe, dass das Banner den below-site-header-Outlet verwendet, sodass sein Verhalten auf dem Outlet basiert und dieser „Sprung“ daher erwartetes Verhalten ist.

Gibt es eine einfache Möglichkeit zu erkennen, ob man sich am oberen Rand der Seite befindet?

1 „Gefällt mir“

Das ist ein großartiger Rat. Es hat für mich perfekt funktioniert.

Ich habe festgestellt, dass das geklonte Theme nicht aktiv sein muss. Es kann inaktiv in der Vorschau angezeigt werden, sodass man sich keine Sorgen machen muss, dass Benutzer es entdecken.

Das habe ich mit Belustigung gelesen. Das war auch mein Gedanke, als ich anfing, Themes zu erkunden. Ich wollte experimentieren und habe ein paar verschiedene Themes geladen. Die Forumsmitglieder haben sie sehr schnell gefunden.

Um absolut sicher zu sein, dass Ihre Benutzer nicht sehen, womit Sie experimentieren, lassen Sie die Option „Theme kann von Benutzern ausgewählt werden“ deaktiviert. Benutzer können das Theme nicht auswählen, auch wenn es aktiv ist.

3 „Gefällt mir“

Gibt es eine Möglichkeit, dies nur für bestimmte Vertrauensstufen anzuzeigen?

Auf diese Weise sehen alle Benutzer es, bis sie eine bestimmte Vertrauensstufe erreichen, anstatt ein Cookie zu verwenden, um die Einstellung des Benutzers zum Ein-/Ausblenden zu speichern?

1 „Gefällt mir“

Diese Bannerkomponente tut dies derzeit nicht, aber die Welcome Link Banner schon, falls das eine gute Alternative ist?

2 „Gefällt mir“

Ich möchte dieses Banner verwenden, damit jede Woche jemand aus meinem Land in meinem Forum geehrt wird, mit einem Foto der geehrten Person und einem Text. Ich möchte meinen Moderatoren jedoch Zugriff auf die Plugins gewähren, da ich nicht jede Woche verfügbar sein werde. Gibt es eine Möglichkeit, meinen Moderatoren Zugriff auf dieses Plugin zu gewähren, damit sie auch Fotos und Texte einfügen können?