Fügen Sie Text neben dem Logo im Header hinzu

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.

4 „Gefällt mir“