Eine neue Website-Einstellung für die "Standard-Startseite"

Derzeit müssen Sie, um die Startseite Ihrer Discourse-Site zu ändern, die Site-Einstellung top menu konfigurieren und Ihre gewünschte Startseite als erste Option in der Liste angeben. Dieses Verhalten ist für neue Administratoren recht unklar.

Heute führen wir eine Änderung ein, die eine neue Site-Einstellung default homepage hinzufügt, um diesen Prozess klarer und einfacher zu gestalten.

Bestehende Sites müssen nichts unternehmen, da der Standardwert für diese neue Einstellung first item in top menu lautet, was der gleichen Funktionalität entspricht, die wir bisher hatten. Die gleichen Optionen sind auch in der neuen Einstellung vorhanden. Wenn Sie eine Startseite wählen, die nur für angemeldete Benutzer verfügbar ist, wie z. B. new, werden wir weiterhin auf das erste top menu-Element zurückgreifen, das für anonyme Besucher verfügbar ist.

Eine Änderung, die diese neue Einstellung ermöglicht, ist, dass Sie jetzt eine Startseite haben können, die nicht im oberen Menü vorhanden ist. Sie können beispielsweise categories als Ihre Startseite festlegen und diese aus der top menu-Einstellung entfernen, da der Link zu allen Kategorien auch in der Seitenleiste verfügbar ist.

In Zukunft können wir einige neue Optionen für Startseiten hinzufügen, also bleiben Sie auf dem Laufenden für weitere Updates!

25 „Gefällt mir“

Das ist eine sehr schöne Ergänzung, Kris! :clap:

Da wir bald eine neue Startseite über den custom-homepage-Outlet einführen werden, bin ich gespannt, ob diese neue Einstellung die benutzerdefinierte Startseite einschließt, wenn ein Plugin oder ein Theme-Komponente eine einführt. Ich plante nämlich, die Benutzereinstellungen so zu aktualisieren, dass die Startseite-Einstellung auf den Standardwert -1 zurückgesetzt wird.

Wird diese neue Einstellung also auch die Optionen in der Startseite-Einstellung der Benutzereinstellungen aktualisieren?

Zuletzt: Wenn die Standard-Startseite auf erstes Element im oberen Menü eingestellt ist und ein benutzerdefinierter Link über api.addNavigationBarItem() hinzugefügt und als erstes Element platziert wird, wird er dann tatsächlich als erstes Element behandelt?

4 „Gefällt mir“

Nein, das ist immer noch gleich. Der Theme-Modifier für benutzerdefinierte Startseiten überschreibt die Site-Einstellung vollständig. Die Navigation ist etwas kompliziert, denn wenn eine Site mehrere Themes zur Verfügung hat und eines keine benutzerdefinierte Startseite hat, müssten wir Fallbacks verwalten. Etwas, das wir uns überlegen sollten.

Noch nicht … die Optionen sind ohnehin immer noch dieselben wie im oberen Menü, aber eine Sache, die sich geändert hat, ist, dass default jetzt immer in den Benutzereinstellungen verfügbar ist (zuvor war es bedingt). “Default” in den Benutzereinstellungen folgt der Site-Einstellung.

Auch hier noch ein “nicht noch” — abgesehen von einer benutzerdefinierten Startseite in einem Theme hat die Startseite einer Discourse-Site immer noch verschiedene Anforderungen, eine Themenlisten-Seite (oder /categories) zu sein, und api.addNavigationBarItem() hat viel lockerere Anforderungen.

3 „Gefällt mir“

Danke, Kris. Ich stehe diesbezüglich voll hinter dem Projekt und bin gespannt, wie es sich weiterentwickeln wird.

Ein Beobachtung, die ich teilen kann, ist, dass Benutzer mit personalisierten Startseite-Einstellungen eine benutzerdefinierte Startseite, die von einem Theme-Component eingeführt wird, niemals zu sehen bekommen.

Im Gegensatz zu den Menüpunkten oben gibt es für die benutzerdefinierte Startseite keinen Pfad, für den ich einen eigenen Menüpunkt erstellen könnte.

Aus genau diesem Grund – auch wenn es nach einer extremen Maßnahme klingt – hatte ich geplant, die Benutzereinstellungen zurückzusetzen, um den Standardwert -1 zu verwenden. Soweit ich das überblicke, ist dies die einzige Option, um allen Benutzern die neue Startseite anzuzeigen. Anschließend können sie diese in ihren Einstellungen weiterhin personalisieren.

2 „Gefällt mir“

Ich glaube, der Pfad ist /custom.

2 „Gefällt mir“

Gelernt. Danke @Moin, das funktioniert tatsächlich.

Obwohl wäre /custom nicht meine erste Wahl für einen Startseiten-Pfad :))

Du kannst permalinks verwenden, um etwas wie /home zu nutzen

Ja, danke, aber das „leitet“ die Anfrage nur um, und landet trotzdem unter /custom.

1 „Gefällt mir“

Ich möchte, dass meine anonymen Benutzer auf einer benutzerdefinierten Startseite landen, während angemeldete Benutzer zur Seite mit den neuesten Beiträgen geleitet werden. Oder zumindest die Option dafür haben.

Der Anwendungsfall besteht darin, dass Discourse eine einzige Startseite/Landingpage bereitstellt, die auf gelegentliche Besucher zugeschnitten ist, während unsere regulären Benutzer nahtlos in das vollständige Forumserlebnis eintauchen können.

Obwohl dies typischerweise durch eine separate Website und Discourse auf einer Subdomain erreicht wird, führt dies zu erheblichem Verwaltungsaufwand und zusätzlichen Kosten. Ich möchte die Dinge vereinfachen und alles in einer Instanz zusammenfassen.

Ist dies mit der neuen Einstellung derzeit möglich?

1 „Gefällt mir“

Ja, das ist ein interessanter Fall, aber mit den aktuellen Seiteneinstellungen ist das nicht möglich.

Es fallen mir ein paar Alternativen ein:

  • Erstelle eine benutzerdefinierte Startseite für beide und verzweige basierend auf der Benutzerprüfung (offensichtlich etwas mehr Wartungsaufwand im Vergleich zur Verwendung einer Standardlösung)

  • Die Benutzeroberflächen-Einstellung für „Standard-Startseite“ überschreibt die benutzerdefinierte Themens Startseite, also könnte eine kleine Anpassung zur Nutzung dieser Einstellung funktionieren… so etwas wie

    import { setDefaultHomepage } from "discourse/lib/utilities";
    
    export default {
     name: "force-homepage",
     after: "url-redirects",
    
     initialize(container) {
       if (container.lookup("service:current-user")) {
         setDefaultHomepage("latest");
       }
     },
    };
    

    Anschließend könntest du diese Benutzereinstellung einfach mit CSS ausblenden.

1 „Gefällt mir“

Danke, Kris!

Ich bin etwas zurückhaltend, was den Verlust der Möglichkeit betrifft, dass Benutzer ihre eigene Startseite auswählen können. Aber andererseits tun das auch nur wenige tatsächlich.

Das ist gut zu wissen!

In diesem Fall könnte unser angesehener Theme-Komponente Custom Homepage for Groups funktionieren:

Es könnte jedoch eine Anpassung erfordern, um mit der (relativ neuen) Kern-Funktion für benutzerdefinierte Startseiten zu arbeiten.

2 „Gefällt mir“