Versatile Banner

Beginners’ guide to using Theme Creator and Theme CLI to start building a Discourse themeDeveloper’s guide to Discourse Themes で説明されているように、または「テーマ開発者」で検索して見つけられる他の多くのトピックのいずれかで説明されているように、テーマコンポーネントを作成します。

それでも役立たない場合は、何を行おうとしているのかについて、さらに詳しく説明する必要があります。

「いいね!」 5

こんにちは、Versatile Bannerのテキストをさまざまなロケールに変換することは可能ですか?ロケールに応じて、UIをフランス語からドイツ語に翻訳することに関心があります。

「いいね!」 2

わかりません。しかし、Add localizable strings to themes and theme components に手がかりがあるかもしれません。テーマコンポーネントをフォークする必要があると思いますが、確信はありませんし、最近コードを見ていないので、正しいかどうかはわかりません。

「いいね!」 2

残念ながら、Jayが言及したテーマの翻訳機能は、このコンポーネントが作成される直前にリリースされ、私が作業を開始した時点ではドキュメントが投稿されていなかったと思います。この段階で複数の翻訳をサポートするように更新するのは、既存のVersatile Bannerを壊してしまう可能性があり、非常に困難です :frowning: フォークアプローチが最善の策でしょう。

いつか、「Versatile Banner 2」をリリースし、長年にわたって寄せられたいくつかの欠けている機能やリクエストに対応できることを願っています。

「いいね!」 3

単一のカテゴリの下にあるトピックにバナーを表示する方法はありますか?Versatile bannerはURLとワイルドカードを使用しますが、discourseはURLにカテゴリ名を含んでいません。または、トピックURLにカテゴリを追加する方法はありますか?

「いいね!」 1

/c/support/* のようなリンクを url must contain 設定に追加することで、特定のカテゴリに追加できます。

「いいね!」 2

単一のカテゴリ下のトピック」と書いたのはそのためです。トピックには、カテゴリ名を含まない /t/* のような URL があります。そのため、/c/support/* を追加すると、そのカテゴリ下のトピックではなく、トピック一覧ページにのみ表示されます。

「いいね!」 2

申し訳ありません、完全に読み間違えていました。:slight_smile: わかりません。

「いいね!」 3

カテゴリは <body> タグにクラスとして追加されるため、カテゴリに応じてバナーを表示または非表示にする CSS を記述できます。たとえば、次のようになります。

/* デフォルトではバナーを非表示にする */
.custom-banner-outlet {
    display: none;
}

/* 「General」カテゴリでバナーを表示する */
body.category-general .custom-banner-outlet {
    display: block;
}
「いいね!」 3

このバナーを使用できることに興奮していますが、特定のユーザーグループにのみ表示を制限する必要があります。LMSをホストするためにDiscourseを使用しています。現在の学生には表示し、卒業生には表示しないようにしたいのですが、これは可能ですか、それとも他に方法がありますか?

アドバイスがあれば、よろしくお願いします。

「いいね!」 1

CSS Classes for Current User's Groups のテーマコンポーネントを使用し、非表示にしたい関連グループに対して display: none; を追加することで可能になると思います。:+1:

「いいね!」 3

ありがとうございます。求めているものに非常に近いのですが、残念ながらCSSについては全くの素人です。しかし、ご提案には感謝いたします。

「いいね!」 1

問題ありません。 :slightly_smiling_face: バナーを非表示にしたいグループ名をお知らせいただければ、お客様のニーズに合わせてコードを調整し、どこに配置すればよいかをご案内します。:+1:

例:

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
サイトへの追加方法に関する追加情報
  • /admin/customize/themes に移動します。
  • インストール」をクリックし、「新規作成」をクリックします。
  • 名前を付け、「コンポーネント」を選択します。
  • 作成」をクリックします。
  • テーマに追加します。
  • CSS/HTMLの編集」ボタンをクリックし、コードを「共通」タブに貼り付けます。
  • 保存します。:+1:

「いいね!」 4

テーマを有効にせずにプレビューするにはどうすればよいですか?ユーザーエクスペリエンスを損なうことなく実験したいと考えています。Discourseホストプランを利用しているため、テストインスタンスを実行する能力がありません。

見落としているスイッチまたは設定があることを願っています。

「いいね!」 2
  1. 別のテーマ(おそらく「通常」のテーマのクローン)を追加できます。テストなどの名前を付けます。
    • 通常のテーマを「デフォルト」のままにします。
  2. 必ず同じテーマコンポーネントを含めてください。
  3. 管理者ユーザー用にこれを選択します。

これにより、好きなだけこのテーマで試すことができます。他のユーザーも(理論上は)テーマを選択できますが、明確に示されない限り、それを行う可能性は非常に低いです。

完了したら、「通常」のテーマを選択することを忘れないでください!

「いいね!」 3

実現可能ではないかもしれませんが、尋ねることに害はありません。

長いトピックで下から上にスクロールすると、投稿ストリームが古い投稿を読み込む間にバナーが短く表示されます。投稿が読み込まれた後、バナーが投稿ストリームの上に押し出されるため、視覚的な「ジャンプ」が発生します。これは少し不快であり、操作するには時間が短すぎます。

理想的には、バナーをトピックタイトルの上にのみ表示し、投稿ストリームの途中に表示したくありません。ただし、バナーは below-site-header アウトレットを使用していると想定されるため、これは簡単な要求ではないと思います。そのため、この「ジャンプ」は予期された動作です。

ページの先頭にいるかどうかを知る簡単な方法はありますか?

「いいね!」 1

これは素晴らしいアドバイスです。私もうまくいきました。

クローンされたテーマはアクティブである必要がないことに気づきました。非アクティブな状態でもプレビューできるため、ユーザーが見つける心配はありません。

それを読んで面白かったです。テーマの探索を始めたとき、私もそう思っていました。実験したかったので、いくつかの異なるテーマを読み込みました。フォーラムのメンバーはすぐにそれらを見つけました。

ユーザーが実験中のものを見ることができないようにするには、「テーマをユーザーが選択可能にする」オプションのチェックを外したままにしてください。ユーザーは、アクティブであってもテーマを選択できません。

「いいね!」 3

特定の信頼レベルのみにこれを表示する方法はありますか?

これにより、ユーザーの設定を表示/非表示にするのを記憶するためにCookieを使用する代わりに、すべてのユーザーが特定の信頼レベルに達するまで表示されますか?

「いいね!」 1

このバナーコンポーネントは現在対応していませんが、Welcome Link Banner が代替として利用可能です。

「いいね!」 2

毎週、私のフォーラムで私の国の人々が称えられ、その人の写真とテキストが表示されるこのバナーを使用したいのですが、プラグインへのアクセスをモデレーターに付与したいです。毎週私が利用できるわけではないので、モデレーターも写真とテキストを投稿できるように、このプラグインへのアクセスを付与する方法はありますか?