Der folgende Interpolationsschlüssel ist ungültig: site_name
Ich denke, „Site_text“ ist nicht verfügbar. Wenn ich versuche, den Text unter /admin/customize/site_texts/js.welcome_banner.header.new_members?locale=en zu bearbeiten, sehe ich, dass nur der Name verfügbar ist.
Ich denke,
site_name ist nur für anonyme Benutzer verfügbar. Ich vermute, die Beschreibung muss aktualisiert werden.
Alles klar, danke für die Info, im Moment verwende ich CSS, um den Seitenamen einzufügen. Ich hatte nur Probleme damit, ihn im Willkommenstext zu unterstreichen.
Das ergibt Sinn. Sie haben sich nicht angemeldet, daher wissen wir nicht, wer sie sind. Es gibt keinen Namen für sie in der Datenbank.
Es ist so, als ob jemand, den Sie nicht kennen, an Ihre Türklingel kommt; Sie können ihn nicht mit Namen begrüßen, bis er sich vorstellt.
Ja, aber ich würde das %site_name auch für angemeldete Benutzer verwenden wollen ![]()
Danke für den Hinweis! Es sieht so aus, als hätte ich zu viel versprochen, welche Variablen verfügbar waren… Ich habe ein Update in Arbeit, das dies korrigieren wird.
Wir können %{site_name} also immer noch nicht hinzufügen, wenn der Benutzer angemeldet ist?
Der siteSetting-Dienst funktioniert möglicherweise, um den Wert der title-Seiteneinstellung abzurufen.
[quote=“Moin, post:11, topic:392604”]Der siteSetting-Dienst könnte funktionieren, um den Wert der Site-Einstellung title abzurufen.
[/quote]
Ich habe mir das angesehen. Das Hindernis hier ist nicht der Zugriff auf den Wert von title. Es ist, dass das Backend Übersetzungen validiert, indem es gültige Interpolationsschlüssel aus den Standard-Locale-Strings extrahiert.
Wenn also %{site_name} nicht im Standardstring enthalten ist, lehnt das Backend dies als „ungültigen Interpolationsschlüssel“ ab.
Ich weiß nicht, was @NateDhaliwal vorhat. Ich wollte nur auf eine Alternative zu einer zusätzlichen Anfrage an /about.json hinweisen.
Ich denke, eine benutzerdefinierte Komponente, die das Willkommensbanner kopiert, aber den Schlüssel site_name für alle Texte bereitstellt, wäre der richtige Weg.
Oder ein PR, der site_name als verfügbaren Schlüssel zu den Texten für angemeldete Benutzer im Kern hinzufügt
get headerText() {
if (!this.currentUser) {
return i18n("welcome_banner.header.anonymous_members", {
site_name: this.siteSettings.title,
});
}
const isNewUser = !this.currentUser.previous_visit_at;
const key = isNewUser
? "welcome_banner.header.new_members"
: "welcome_banner.header.logged_in_members";
return i18n(key, {
preferred_display_name: sanitize(
prioritizeNameFallback(this.currentUser.name, this.currentUser.username)
),
+ site_name: this.siteSettings.title,
});
}
@hipp0 nochmals vielen Dank für das Aufwerfen dieses Themas! Wir haben ein Update veröffentlicht, das die Variable site_name für alle drei Header-Felder verfügbar macht:




