Eine sehr häufige Situation, in der Sie als Theme-Entwickler landen werden, ist die Notwendigkeit, Inhalte zu erstellen, die nur auf der Startseite Ihrer Community angezeigt werden.
Sie könnten etwas HTML zum Abschnitt „Nach Header
Eine sehr häufige Situation, in der Sie als Theme-Entwickler landen werden, ist die Notwendigkeit, Inhalte zu erstellen, die nur auf der Startseite Ihrer Community angezeigt werden.
Sie könnten etwas HTML zum Abschnitt „Nach Header
Hallo @awesomerobot,
Vielen Dank für die Erklärung. Ich habe die von Ihnen vorgeschlagenen Schritte ausprobiert, aber das von mir implementierte after_header wird auf den Detailseiten der Beiträge immer noch angezeigt. Können Sie mir empfehlen, wie ich dies beheben kann, damit es nur auf meiner Homepage angezeigt wird?
Hallo @Cornelius, ist es in Ordnung, deinen Code anzusehen?
Es wäre großartig, dies für die moderne Nutzung des Dateisystems neu zu schreiben, anstatt alles in die Header-Tags zu packen.
Die meisten dieser alten Anleitungen für Themes sind veraltet, was die Art und Weise betrifft, wie Dinge jetzt gemacht werden.
Ja, das war ziemlich veraltet! Ich habe es aktualisiert, um die Struktur von Remote-Themes und unsere modernen Ember-Komponenten widerzuspiegeln.
Das ist großartig!
Und ist dieser getter dasselbe wie dieser http://ember-cli-page-object.js.org/docs/v1.11.x/api/getter.html? Ich weiß gerade genug, um gefährlich zu sein. Wenn es dasselbe ist, werde ich die OP bearbeiten, um darauf zu verlinken.
@awesomerobot Hallo Kris, ich habe Discourse lokal auf meinem System installiert. Was ist der richtige Pfad, um diese Dateien in meiner lokalen Instanz von Discourse hinzuzufügen? Ich wollte eine neue Theme-Komponente in meiner lokalen Instanz von Discourse hinzufügen.
Sie würden Ihre Theme-Komponente erstellen und sie über die ux installieren.
Wenn ich meine Homepage auf der Kategorieansicht aufbaue, erhalte ich trotzdem meine benutzerdefinierten Inhalte, auch wenn ich zu /categories gehe, was nicht die Home-URL ist. Ich möchte dies auf nur die Stamm-URL / beschränken, was meiner Meinung nach das vorherige Code tat, aber ich frage mich, ob defaultHomepage() dies tun sollte.
discovery.${defaultHomepage()} passt zur Route, die mit der top-menu-Einstellung als Startroute festgelegt ist. Sie passt sowohl zur Stamm-URL / ALS AUCH zur spezifischen Route, wie z. B. /categories.
Nach meiner Erfahrung gibt es zwei Komplikationen beim Erstellen einer benutzerdefinierten Homepage, die auf defaultHomepage() basiert:
Um eine benutzerdefinierte Homepage nur für die Stamm-URL zu erstellen, kann man router.currentURL === '/' überprüfen. Standardmäßig passt dies nur zur Stamm-URL / und nicht zur Startroute, die mit der Top-Menü-Einstellung festgelegt ist. Es gibt jedoch jetzt eine Logik für die Links in der Seitenleiste, die zusätzlich versucht, eine gegebene URL mit einer Route abzugleichen. Daher funktioniert sie standardmäßig nicht mit Links in der Seitenleiste. Ich habe gerade ein Thema dazu gepostet: Can I have sidebar links that don’t resolve an url to a route?
Nach meinem Verständnis gibt es derzeit keine Standardmethode, um eine benutzerdefinierte Homepage für die Stamm-URL zu erstellen, ohne entweder eine Route aus dem Top-Menü anzusprechen oder Probleme mit der Seitenleiste zu bekommen. Es wäre großartig, diese Option zu haben.
Stimmt, es ist eine Art langjähriger Hack, dass / und die entsprechende /route unterschiedliche Inhalte rendern können. Wir haben eine To-do-Liste, um:
top_menu-Einstellung festlegen zu können.Benutzerdefinierte Startseiten sind zu diesem Zeitpunkt eine sehr häufige Anfrage, daher könnten wir hier sicherlich mehr Flexibilität gebrauchen.