Hallo, kann mir jemand bei einer barrierefreien Lösung helfen? Ich möchte ein Bild auf meiner Willkommensseite in der div-Klasse .contents.clearfix.body-page unter dem Willkommstext, aber vor den unteren Buttons, platzieren. Danke!
Derzeit können Sie nur Inhalte über dem Text hinzufügen… aber ich habe gerade ein Update gepusht, das es Ihnen ermöglicht, Inhalte darunter hinzuzufügen, da dies eine sinnvolle Erweiterung zu sein scheint. (FEATURE: Add below-static plugin outlet · discourse/discourse@e4ebc30 · GitHub).
Wenn Sie Discourse in ein paar Stunden aktualisieren (über yoursite.com/admin/upgrade), sollten Sie diese Änderung erhalten und Inhalte genau dort hinzufügen können, wo Sie sie benötigen.
So geht’s: In Ihrem Theme müssen Sie dies zu Ihrer header.html-Datei hinzufügen:
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#if showLoginButton}}
<div class="custom-login-content">
<!-- Ihr benutzerdefiniertes HTML hier -->
</div>
{{/if}}
</script>
Beachten Sie, dass diese Vorlage an mehreren Stellen verwendet wird (FAQ-Seite, Über-Seite usw.). Wenn Sie Ihren Inhalt nur auf der Willkommens-Anmeldeseite sichtbar machen möchten, müssen Sie das umgebende {{#if showLoginButton}} {{/if}} beibehalten.
Weitere Informationen zur Verwendung von Plugin-Öffnungen, um Inhalte zu unseren Handlebars-Vorlagen hinzuzufügen, finden Sie hier: Developing Discourse Themes & Theme Components
Hallo Kris, ich nutze für diese Designänderungen eine lokale Discourse-Instanz in Docker, bevor ich sie auf dem Live-Forum anwende. Allerdings kann ich nicht auf eine Seite namens ‘example.com/admin/upgrade’ zugreifen, da diese Seite nicht existiert. Sie existiert auch nicht auf unserer Live-Site. Mache ich etwas falsch oder gibt es eine andere Methode zum Upgrade? Ich sehe auch keinen Weg, vom Admin/Dashboard der Live-Site aus ein Upgrade durchzuführen.
Hallo nochmal, Kris. Die oben erwähnte Seite ist weder in meiner Test-Discourse-Installation auf Docker noch in meiner Live-Discourse verfügbar. Kannst du mir helfen?
Viele Grüße
Läuft ihr in einem Unterordner? Wie wurden diese Instanzen installiert?
Jede Discourse-Instanz sollte über eine /admin/upgrade-URL verfügen, aber wenn ihr kein Administrator seid, ist sie für euch nicht zugänglich.
Hallo Stephen,
ich bin Admin und Moderator mit Vertrauensstufe 4 auf beiden Instanzen. Die lokale Instanz wurde mit Docker im Verzeichnis Users/my-local-user-account(admin)/documents/discourse-test installiert. Ich muss Discourse hier zuerst aktualisieren, damit ich die Login-Testseite erstellen kann. Ich bin mir nicht sicher, wie die Live-Site installiert wurde (sie ist älter als ich), aber sie ist unter https://lifeevents.digital.gov.au zu finden.
Entschuldigung, bist du Admin und TL4?
Ist docker-manager in deiner app.yml als Plugin aktiviert?
Bist du sicher, dass die lokale Installation keine Entwicklungsversion ist?
ja, Admin und TL4 auf beiden
keine Plug-ins auf der lokalen Instanz installiert
bin mir bei der Dev-Installation nicht sicher – sie wurde so durchgeführt:
Discourse lokal zum Testen ausführen
Der schnellste Weg ist die Nutzung von Docker.
Schritt 1: Docker installieren
Sie können Docker direkt von der Website installieren.
Sie können es hier installieren: Mac | Docker Docs
Überprüfen, ob der Download erfolgreich war
Um zu prüfen, ob Docker erfolgreich heruntergeladen wurde, geben Sie docker -v in Ihrem Terminal ein. Es wird Ihnen angezeigt, welche Version Sie ausführen.
Schritt 2: Discourse-Ordner erstellen
Ich empfehle, einen Ordner in Ihren Documents oder wo immer Sie es bevorzugen, zu erstellen. Verwenden Sie dafür Folgendes:
cd ~/Documents
mkdir discourse-test
cd discourse-test
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-discourse/master/docker-compose.yml > docker-compose.yml
docker-compose up -d
Schritt 3: Datei /etc/hosts aktualisieren
Wir müssen folgende Zeile Text an das Ende der Datei /etc/hosts hinzufügen.
127.0.0.1 www.example.com
Öffnen Sie zunächst die Datei mit dem Nano-Editor. Sie werden nach Ihrem Passwort gefragt.
sudo nano /etc/hosts
Fügen Sie dann diesen Text an das Ende der Datei hinzu: 127.0.0.1 www.example.com
Um diese Einstellung zu speichern, drücken Sie Strg+x, dann y und schließlich die Eingabetaste.
Schritt 4: Lokal öffnen
Sie sollten nun in der Lage sein, einen Browser zu öffnen und zu www.example.com zu gehen, um eine Testinstanz von Discourse aufzurufen.
Benutzername: user
Passwort: bitnami123
Nützliche Befehle für Docker
Discourse stoppen (stellen Sie sicher, dass Sie sich im Verzeichnis ~/Documents/discourse-test befinden):
docker-compose stop
Discourse starten (stellen Sie sicher, dass Sie sich im Verzeichnis ~/Documents/discourse-test befinden):
docker-compose up -d
Container entfernen (stellen Sie sicher, dass Sie sich im Verzeichnis ~/Documents/discourse-test befinden):
docker-compose down -v
Images entfernen (Container müssen zuerst entfernt werden):
docker rmi $(docker images -q)
Ok, du verwendest also die Bitnami-Installation, ein Paket von einem Drittanbieter. Leider können wir hier keine Unterstützung dafür bieten. Ich markiere dieses Thema als unsupported-install.
Die einzigen unterstützten Installationen sind die offizielle Standardinstallation oder für Entwickler, die lokal arbeiten, die dev-install.
Wenn du Hilfe bei dieser Installation benötigst, musst du dich an Bitnami wenden oder ein Backup erstellen und es auf eine offiziell unterstützte Installation wiederherstellen.
Ok, das ist also die lokale Installation… Ich werde eine Standard-Installation untersuchen. Ich stimme zu, dass die Installation nicht standardkonform ist.
Was die Live-Seite betrifft: Ist die Seite admin/upgrade auch auf der Live-Seite nicht verfügbar? Ich würde dies nicht als nicht unterstützte Installation kennzeichnen, da die Anfrage sich auf beide Instanzen bezog?
Dann ist es möglich, dass es sich auch um Bitnami handelt, und dasselbe gilt dort. Falls nicht, bedeutet das, dass docker-manager deaktiviert wurde, was ebenfalls wirklich sehr notwendig ist. Ich überlasse es Ihnen, diese Installation zu untersuchen – Sie können uns später jederzeit aktualisieren.
Ihre Probleme verdeutlichen, warum wir keine Unterstützung für Drittanbieter-Pakete anbieten können. Wenn sie sich nicht wie vorgesehen verhalten und wichtige Funktionen wie das Web-Update-Tool fehlen, muss der Paketbetreuer die Unterstützung bereitstellen.
Ehrlich gesagt gibt es kaum gute Gründe, dieses Paket zu verwenden. Sie sind fast immer besser beraten, die offizielle Installation zu nutzen.
Ich verstehe Ihre Frustration bezüglich Pakete von Drittanbietern, aber ich bin nur ein Designer, der etwas umsetzen möchte, und dies war die Option, die mir der Entwickler angeboten hat, zu dem ich nur begrenzten Zugang habe – ich bin kein Entwickler.
Ich werde die live-Discourse-Instanz untersuchen und mich später wieder melden – vielen Dank für Ihre Unterstützung und entschuldigen Sie bitte die Verwirrung, die durch das Zusammenfassen der Installationsanfragen für mehrere Instanzen in einem Thread entstanden ist.
Das ist für uns kein Problem und keine Frustration – aber ich kann verstehen, dass es Nutzer verwirren oder frustrieren könnte, die um Hilfe bitten.
Wir bieten hier viel kostenlose Unterstützung an, daher müssen wir den Umfang dieser Unterstützung angemessen fokussiert halten. Es gibt sehr kreative Menschen, die
großartige
Dinge mit Discourse machen, und diese zu unterstützen kann sehr lohnend sein. Die Unterstützung inoffizieller Images würde die Belastung dieser Unterstützung jedoch exponentiell erhöhen und damit alles andere beeinträchtigen.
Das ist großartig! Wenn ich Inhalte links oder rechts vom Login-Text-Div hinzufügen möchte, bedeutet das, dass ein neuer Plugin-Auslass erstellt werden muss oder ist es besser, CSS-Attribute hinzuzufügen?
Zweitens nehme ich an, dass dies auch in header.html einer Theme-Komponente möglich ist, wollte das aber noch einmal überprüfen.
Danke!
Ich versuche, diese Lösung zum Laufen zu bringen, aber aus irgendeinem Grund wird showLoginButton nie als true erkannt. Meine Testseite ist privat eingestellt, und wenn ich /login aufrufe, ist der Button auf der Seite sichtbar. Ich habe versucht, den Wert von showLoginButton zu protokollieren, und er wird als undefined zurückgegeben.
Wenn ich if durch unless ersetze, scheint es problemlos zu funktionieren. Jede Idee dazu, was das Problem sein könnte, wäre sehr willkommen.
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#unless showLoginButton}}
<div class="custom-login-content">
<h1>test</h1>
</div>
{{/unless}}
</script>

