Ich habe das gerade für ein Theme gemacht. Ich verwende den Titel und die Kurzbeschreibung der Website, aber Sie könnten auch Werte aus den Theme-Einstellungen oder lokalisiertem Text einfügen.
Fügen Sie eine Glimmer-Komponente in components/header-logo-title.gjs hinzu
import Component from "@glimmer/component";
import { service } from "@ember/service";
export default class HeaderLogoTitle extends Component {
@service siteSettings;
<template>
{{#unless @outletArgs.minimized}}
<div class="header-logo-title">
<span
class="header-logo-title__title"
>{{this.siteSettings.title}}</span>
{{#if this.siteSettings.short_site_description}}
<span
class="header-logo-title__description"
>{{this.siteSettings.short_site_description}}</span>
{{/if}}
</div>
{{/unless}}
</template>
}
Binden Sie sie im Outlet in /api-initializers/my-theme.js ein
import { apiInitializer } from "discourse/lib/api";
import HeaderLogoTitle from "../components/header-logo-title";
export default apiInitializer("1.26.0", (api) => {
api.renderAfterWrapperOutlet("home-logo", HeaderLogoTitle);
});
Der #unless-Helper prüft den minimierten Zustand des Logos und fügt den Text nur hinzu, wenn das vollständige Logo sichtbar wäre. Wenn Sie es immer anzeigen möchten, müssten Sie diese Bedingung entfernen.