Ich habe einen Benutzer, der fragt, ob es möglich ist, das Banner nur auf der Homepage anzuzeigen, sodass es nicht angezeigt wird, wenn sie “Latest” als Lesezeichen haben? Derzeit scheint es in beiden Fällen angezeigt zu werden.
Ja, das ist in den Einstellungen für das Willkommens-Link-Banner möglich:
Meinen Sie, wenn sie eine benutzerdefinierte Seite (neueste, Kategorien, was auch immer) als ihre Homepage in ihrem eigenen Profil festlegen?
Dann wird diese beliebige Seite für den Benutzer als „Homepage“ betrachtet, und somit wird das Willkommensbanner für sie auf ihrer neuen Homepage angezeigt.
Wenn die Standard-Homepage Ihrer Website /categories ist und Sie möchten, dass das Willkommensbanner nur auf /categories angezeigt wird, unabhängig von den Benutzeroberflächeneinstellungen der Benutzer, könnten Sie anzeigen auf auf „discovery“ oder „all“ setzen und JavaScript verwenden, um das Willkommensbanner auf anderen Seiten als der gewünschten auszublenden.
Ich weiß derzeit jedoch nicht, wie ich die aktuelle Seite zuverlässig identifizieren kann (einschließlich des ersten Ladens einer Seite und des Wechsels zwischen Seiten), um das Willkommensbanner dynamisch auszublenden.
Ich werde das gerne später ausprobieren (
), aber vielleicht ist dies ein Anfang:
Ah, vielen Dank, ja, einige meiner Community-Leiter, die das Standardlayout auf das Neueste eingestellt haben, würden es bevorzugen, wenn das Banner beispielsweise nur auf der Kategorieseite angezeigt wird. Ich werde den Link, den Sie geteilt haben, überprüfen.
Okay, hier ist eine funktionierende Lösung. In meinem Beispiel wird das Willkommensbanner nur auf der Seite /latest angezeigt, unabhängig von den Benutzeroberflächeneinstellungen der Benutzer. Ich werde es Ihnen ermöglichen, es so anzupassen, dass es nur auf der Seite /categories angezeigt wird. ![]()
-
Stellen Sie die Einstellung “Welcome Link Banner show on” auf “all” oder “discovery” ein, je nachdem, auf welcher Seite (oder welchen Seiten) das Banner angezeigt werden soll.
-
Fügen Sie dieses Skript in Ihr Theme ein:
<script type="text/discourse-plugin" version="1.4.0"> // zeigt das Willkommensbanner nur auf der /latest-Seite an api.onPageChange(() => { const router = api.container.lookup('service:router'); if (router.currentRoute.name === 'discovery.latest') { document.body.classList.add('route-discovery-latest'); } else { document.body.classList.remove('route-discovery-latest'); } }); </script> -
Fügen Sie dieses CSS zu Ihrem Theme hinzu:
body:not(.route-discovery-latest) .welcome-link-banner-connector { display: none; }
Referenz verwendet:
Vielen Dank dafür, vielen vielen Dank! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
