多用途のバナー

:discourse2: 概要
:eyeglasses: プレビュー
:hammer_and_wrench: リポジトリリンク
:open_book: Discourse テーマが初めての方へ

このテーマコンポーネントをインストール

機能

このテーマコンポーネントは、以前のバナー機能の進化版です。テーマ設定を活用することで、より手軽で柔軟な運用を実現することを目的としています。

主な機能は以下の通りです:

  • ログインユーザーまたは匿名ユーザーのみに表示を制限
  • モバイル端末またはデスクトップのみに表示を制限
  • 特定のページでのみ表示を制限
  • 閉じる、展開、常時表示のオプション
  • ブラウザ幅いっぱいの表示オプション
  • 色管理
  • HTML を使用した見出しとカラムのカスタマイズ(詳細は後述)
  • 状態の永続化オプション(詳細は後述)

バナーコンテンツのカスタマイズ

バナーのコンテンツは、主な見出しとカラムに分割されます。バナーには最大 5 つのカラムを設定できますが、幅の制限により、推奨される数は 3 つ以下です。HTML テンプレートが用意されており、個々のニーズに合わせてカスタマイズできます。また、各カラムの幅を制御したり、各カラムの上部に任意の画像や Font Awesome アイコンを追加することも可能です。

状態の永続化オプションの使用

状態の永続化オプションでは、最大 2 つのクッキーを使用します。これらのクッキーにはバナーの名前と、バナーの状態(開閉・展開・折りたたみ)を表す true/false 値が含まれます。サイトでのクッキー使用に懸念がある場合は、この設定の使用を避けることをお勧めします。cookie_lifespan 設定に相対時間を指定すると、ユーザーが適切なボタンを押した後、その時間 동안 バナーが閉じられた状態、展開された状態、または折りたたまれた状態を維持します。この設定がない場合、バナーは完全なページ読み込みごとにリセットされます。バナーに変更を加え、以前にバナーを閉じていたユーザーを含むすべてのユーザーに変更を反映させたい場合は、「cookie name」を変更してください。これにより、永続的な状態が実質的にリセットされ、ユーザーが再度バナーを閉じることができるようになります。

設定

名前 説明
show for members フォーラムにログインしているユーザーにバナーを表示
show for anon 匿名ユーザーにバナーを表示
display on mobile モバイルデバイスでバナーを表示
display on desktop デスクトップコンピュータでバナーを表示
display on homepage ホームページでバナーを表示
url must contain バナーを表示するパスを入力。パスの末尾に * を追加してワイルドカードとして使用
dismissible ユーザーがバナーを閉じられるようにする
collapsible ユーザーがバナーを展開・折りたたみできるようにする
default collapsed state 折りたたみ設定が有効な場合のデフォルトの折りたたみ状態
cookie lifespan バナーが閉じられたか、展開されたか、折りたたまれたかを記憶するためのクッキーの有効期間。「none」に設定すると、このコンポーネントでクッキーは使用されず、バナーに関連する以前に作成されたクッキーは、ユーザーが次の完全なページ読み込みを行った際に削除されます。値は単一の単位で測定され、「year」に設定すると 1 年、「week」に設定すると 1 週間などが適用されます。
cookie name バナーに重要な変更を加えた場合は、すべてのユーザーに変更を反映させるためにクッキー名を変更する必要があります。
full width banner ブラウザ幅いっぱいでバナーを表示
swap default positioning 他のバナー関連コンポーネントがアクティブな場合、Versatile Banner とその位置を入れ替える
plugin outlet below-site-header はサイドバーの上、above-main-container はサイドバー横のコンテンツの上に配置
banner background image 背景画像のソース URL。ヒント:メインテーマに画像をアップロードし、その URL を使用できますが、このコンポーネントの「Uploads」セクションを使用しないようにしてください。このコンポーネントに追加されたアップロードは、更新時に削除されます。
banner background image dark システムのダークモードが検出されたときの背景画像のソース URL。
background color 背景画像の代わりに使用される色
background color dark システムのダークモードが検出されたときに背景画像の代わりに使用される色
primary text color バナーのメインテキストの色
primary text color dark システムのダークモードが検出されたときのバナーのメインテキストの色
secondary text color アイコンとテキスト見出しのテキスト色、およびボタン背景色
secondary text color dark システムのダークモードが検出されたときのアイコンとテキスト見出しのテキスト色、およびボタン背景色
link text color バナー内のリンクのテキスト色
link text color dark システムのダークモードが検出されたときのバナー内のリンクのテキスト色
翻訳 デフォルト
close.title バナーを閉じる
close.label 閉じる
toggle.title バナーを展開/折りたたむ
toggle.collapse_label 折りたたむ
toggle.expand_label 展開

:discourse2: 私 hosts されていますか?テーマコンポーネントは、Pro、Business、Enterprise プランで利用可能です。

「いいね!」 101
Homepage Banner
Homepage specific design and content
Showing two banners: one to anonymous users, and one for logged-in members
Discourse Theme Creation
Activated child Component and broke Discourse!
How to add a simple Banner
Landing page customization
Banner on Discourse
Adding a new banner just above the logo
Ideas for highlighting content on our forum
Impact of component positioning with 2.5.0.beta6
Using an Image for a Global Banner Topic - Dimensions?
Showing a Warning to Non-Registered Users
Homepage Feature
Customise home login page
Enhancing My engineering Community Landing Page - Technology Support Category
How to add top welcome message to the board
How is the Banner at meta.discourse.org created?
Is it possible to change the order of topics?
Can the new About page be more visible?
Need help to emulate old forum
Creating a banner that only 1 group can see, while the other groups don't
Sticky global notice
Banner text customization for Subscriptions plugin
How to I stop topics automatically un-pinning when a user reaches the bottom?
How to insert Versatile Banner before the content of the post.?
How to add a header image and customize it
Customizing your site with existing theme components
How to Set a Closable Banner at the Top of site?
Order of two items in the same plugin outlet
How to add this type of banner?
Customize Your Site Branding
Can the new About page be more visible?
Asking for advice on "How to create a Banner on the main page"/
No HTML in global notice
Welcome Link Banner theme-component with photos
How to apply CSS code only in the discourse home page?
How to make the automatic dark theme the same as the selected dark theme?
Make the Welcome Banner less intrusive
Your own banner with a link
I want add photo for download my app
How to add title and buttons naturally above forum topics?
Where shall I put this code for a top banner?
Is it possible to insert a box of text between the header and topic list?
How do I create a welcome banner like the one on this site?
Customizing the groups page
What are good plugins or theme components for a forum emphasizing pictures?
Creating a banner to display at the top of your site
Horizon Theme
Missing margin in the .banner- box for Versatile Banner TC
What Are Some Good Welcome Banner Designs?
App interviewer
Need guidance for adding description bar
Hover preview and quote of the day
Creating a "Featured Categories" homepage banner
Making my discourse site look a certain way
Help with alignment in the "versatile banner" plugin
Make Banner Undismissable
Can I add a banner only on my homepage?
Welcome message at the top
Globally pinned topic only appears in one category
Pin a post even in the categories home page
How do i turn of unpin/pin option for my forum users?
[PAID] Assistance to Set-up My Forum
Custom HTML on Groups page
Banner diference mobile/web
Help me code menu top same image
Publish a notification at top of the page
How to create a welcome banner/section?
Landing page customization
Message to display to only users without accounts/logged in?
Turned my Discourse into a successful ecommerce platform!
Category Banners
Adding a new banner just above the logo

こんにちは!すべてのテキストを左揃えにしたいのですが、CSS テーマがうまく機能しません。具体的にどのようにすればよいのか、教えていただけますか?

「いいね!」 3

ご希望の方向性と合っていますでしょうか?

もしそうであれば、まずはこれを試せるよう、簡易的な CSS をいくつか用意しました:

.banner-box {
  h1,
  h2,
  h3,
  .row .single-box {
    text-align: left;
    
    & .banner-list {
      display: block;
      ul {
        margin: 0 0 9px 25px;
      }
    }
  }

  .section-header {
    .x-title {
      padding: 25px 15px;
    }
    .description p {
      text-align: left;
    }
  }
}

「Versatile Banner Customizations」という新しいコンポーネントを作成し、上記の CSS を「Common」セクションに追加してください。また、Versatile Banner を使用しているアクティブなテーマには、この新しいコンポーネントを追加してカスタマイズを反映させることを忘れないでください。

「いいね!」 5

これでうまくいきました。本当にありがとうございます。

「いいね!」 3

こんにちは、

背景画像をクリッ可画像に変換することは可能でしょうか?

ご回答よろしくお願いいたします。

具体例を教えていただけますか?
なぜそうしたいのでしょうか?
つまり、すべての背景画像がリンクになるということですか?
ユーザーがバナーのどこをクリックしても、そのリンクにリダイレクトされるのですよね。
どのような用途があるのか想像がつかないのですが。

「いいね!」 1

バナーの高さを調整するにはどうすればよいですか?

「いいね!」 1

@tshenry さん、こんにちは。Versatile Banner コンポーネントを使用しているのですが、「デスクトップに表示」のチェックを外すと、バナーがすべて消えてしまいます。

本来はモバイル端末でのみバナーを表示させたいと考えています。

しかし、「デスクトップに表示」のチェックを外すと、デスクトップとモバイル両方の Versatile Banner が消えてしまいます。確認用サイトはこちらです:https://hec.fm

何か見落としているのでしょうか?

「いいね!」 1

モバイルでもリンクを横並びに表示することは可能でしょうか?縦に並んで表示されることに少し驚きました。

「いいね!」 1

ご報告ありがとうございます!返信が遅くなり申し訳ありません。おっしゃる現象を再現できました。何が起きているかはおそらくわかります。今週後半に確認して、改めてご連絡いたします。

バナーの高さは主にそのコンテンツに依存しますが、必要に応じてご自身のCSSで任意の調整が可能です。モバイル画面で3列を横並びに収められるかどうかは確実ではありませんが、カスタムCSSで試してみることはもちろん可能です!いくつかのヒントについては、Making custom CSS changes on your site をご覧ください。

「いいね!」 4

サイト内でクッキーの寿命に関連し、バナーの展開/折りたたみ状態を維持する際にバグが発生しているようです。ユーザーがバナーを折りたたんだり展開したりした状態を記憶し、その設定を常に維持したいと考えています。ホームページに留まっている場合やトピックをクリックする場合は、期待通りに動作します。しかし、管理パネル、ユーザー設定、FAQ、About、利用規約、プライバシーポリシー、ドキュメントなどのページに移動してからホームページに戻ると、挙動がおかしくなり、バナーの状態が設定と逆になったり、展開/折りたたみを示すチェバロンアイコンの向きが正しくない場合さえあります。

ここでは、チェバロンアイコンが上を向いています:

しかし、ドキュメントをクリックしてホームページに戻ると、チェバロンアイコンの向きが逆になっています。

これは非常に奇妙な挙動のように思えます。

「いいね!」 2

ログインページに以前表示されていた「Versatile Banner」が、当フォーラム(非公開フォーラム)で表示されなくなったことに気づきました。

コンポーネント設定で「匿名ユーザーにバナーを表示する」にチェックが入っています。

HTMLを確認すると、クラス名が「emberX」の div の入れ子の中に、クラス名が「banner-box」の div がありますが、ログイン済みのユーザーの HTML とは異なり、その「banner-box」の div の中身が空です。

何が原因でこのような事態になっているか、心当たりはありますか?

「いいね!」 1

コンポーネントに小さなアップデートをプッシュしました。

上記のアップデートでこの問題は修正されるはずです。修正までにとてもお待たせしてしまい、本当に申し訳ありません。ご報告いただきありがとうございます!

テーマ設定の「URL に含まれる必要がある」に /login を追加する必要があります。詳細は こちらの投稿 をご覧ください。

これは過去に何度か報告されていますが、残念ながら私はまだ再現できていません。機会を見て、あなたの手順をそのまま試して、何か手がかりが見つかるか確認してみます。

「いいね!」 3

多目的バナーを使用しており、バナーを別のウェブサイトへリダイレクトする巨大なリンクに変えたいと考えています。
どうすればよいでしょうか?

以下のスクリプトで変更を試みました:api.changeWidgetSetting('banner-content-widget', 'href', '<site_adresse>')
しかし、これを行うと多目的バナーが機能しなくなりました。

「いいね!」 1

ありがとうございます、素晴らしいです。今では完璧に動作しています!:folded_hands:t2:

「いいね!」 2

以下のような方法が考えられます:

<script type="text/discourse-plugin" version="0.10.0">
  // ヘッダーにリンクを追加
  api.reopenWidget("banner-box-widget", {
    html(attrs) {
      let bannerBox = this._super();
      bannerBox[0].children[1].tagName = "A";
      bannerBox[0].children[1].properties.href = "https://meta.discourse.org";
      return bannerBox;
    }
  });
  
  // コンテンツの残りの部分にもリンクを追加
  api.reopenWidget("banner-content-widget", {
    html(attrs) {
      let bannerContent = this._super();
      bannerContent.tagName = "A";
      bannerContent.properties.href = "https://meta.discourse.org";
      return bannerContent;
    }
  });
</script>

さらに、リンクの色を調整する CSS ルールを追加します:

.banner-box a {
    color: var(--primary);
}

Versatile Banner が提供する特定の機能が必要でないのであれば、新しいコンポーネントでシンプルな HTML バナーを作成する方がよいかもしれません。簡単な例を以下に示します:

Common の「After Header」セクションに以下を追加:

<a href="https://meta.discourse.org">
  <div class="custom-banner">
    <h2>これはカスタムバナーです!</h2>
  </div>
</a>

Common の「CSS」セクションに以下を追加:

.custom-banner {
   display: flex;
   justify-content: center;
   align-items: center;
   width: $large-width; // 1110px
   height: 200px;
   margin-bottom: 15px;
   background: grey;
   color: white;
 }

これにより、完全にクリック可能なシンプルなバナーが作成されます:

「いいね!」 3

このコンポーネントを git からインストールしていますが、最新のコードが取得できていないようです。FIX: Work with new sticky header and move away from deprecated $.cookie · discourse/discourse-versatile-banner@0939120 · GitHub が、私のサイト https://ygobbs.com/ で更新されていないようです。

「いいね!」 1

これは、Discourse のバージョン 2.6.0.beta2 を実行しているためです。リンクされたコミットには 2.6.0.beta3 以降が必要です。リンクされたコミットには、古い Discourse インストールと互換性のないコミットへの更新を防ぐために discourse-compatibility ファイルが追加されていることに気づくはずです。

「いいね!」 5

わあ、Discourse がコンポーネントのインストールを阻止する代わりに、古いバージョンを自動的に見つけてくれるなんて素晴らしいですね!ありがとうございます!

「いいね!」 3

@tshenry さん、こんにちは。
コンポーネントを複数回インストールして、それぞれのカテゴリに異なるバナーを表示させたいと考えています。そのため、「ホームページに表示」を無効にし、「URL に含む」条件を設定しましたが、これによりホームページ専用に表示しているメインのコンポーネントも表示されなくなってしまいました。別の解決策をご教示いただくか、あるいはこれはバグでしょうか?よろしくお願いいたします!(:

「いいね!」 1