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.
Aus irgendeinem Grund funktioniert nur %site_name für anonyme Besucher.
Ich würde gerne Folgendes tun:
Willkommen, %{preferred_display_name}, bei %{site_name}!
Aber das ist nicht möglich, was die Anpassung von Unterstreichungen/CSS in diesem Bereich schwierig macht.
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?
Hmm… das sieht in der Tat so aus:
Ich nehme an, Sie könnten den Site-Namen mit einer Theme Component anzeigen, indem Sie eine Anfrage an
/about.json stellen und den Site-Titel abrufen (ich habe mir den site-Service angesehen und nichts über den Site-Titel gefunden).
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:
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.




