ホームページのみにバナーを制限することは可能ですか?たとえば、最新情報にブックマークした場合に表示されないようにしたいとのことです。現在は両方のインスタンスに表示されているようです。
はい、ウェルカムリンクバナーの設定にあります。
ユーザーがプロファイルでカスタムページ(最新版、カテゴリなど)をホームページとして設定した場合、という意味でしょうか?
その場合、その任意のページがユーザーにとっての「ホームページ」とみなされ、その新しいホームページにウェルカムバナーが表示されます。
サイトのデフォルトのホームページが /categories で、ウェルカムバナーを /categories にのみ表示したい場合(ユーザーのインターフェース設定に関係なく)、表示する を「ディスカバリー」または「すべて」に設定し、表示したいページ以外のページでウェルカムバナーを非表示にするために JavaScript を使用する必要があるかもしれません。
しかし、現在、現在のページを確実に識別する方法(ページを初めて読み込むときやページを変更するときを含む)がわからず、ウェルカムバナーを動的に非表示にすることができません。
後で試すことはできますが (
)、これが開始点になるかもしれません。
ああ、ありがとうございます。はい、デフォルトのレイアウトが最新に設定されているコミュニティリーダーの中には、たとえばカテゴリページにのみバナーを表示したいと考えている方もいらっしゃいます。共有していただいたリンクを確認します。
承知いたしました。以下に動作するソリューションを示します。私の例では、ウェルカムバナーはユーザーのインターフェース設定に関係なく、/latest ページにのみ表示されます。これを /categories ページにのみ表示するようにカスタマイズできます。![]()
-
ウェルカムリンクバナーの 表示対象 設定を、「すべて」または「ディスカバリー」に設定します。これは、バナーを表示したいページによって異なります。
-
このスクリプトをテーマに追加します。
<script type="text/discourse-plugin" version="1.4.0"> //ウェルカムバナーを /latest ページにのみ表示します 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> -
このCSSをテーマに追加します。
body:not(.route-discovery-latest) .welcome-link-banner-connector { display: none; }
参考資料:
ありがとうございます、本当にありがとうございます!![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
