設定が表示されない

皆さん、こんにちは。Discourse の開発を始めたばかりで、テーマコンポーネントに取り組んでいます。
リンク: GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.

テーマクリエーターに配置しても、settings.yml があるにもかかわらず、設定が表示されません。何かアイデアはありますか?

「いいね!」 1

テーマクリエーターでエラーメッセージが表示されていますか?

最初と最後の引用符は同じものを使用する必要があると思います。

これも問題かもしれません。default: "" を試してみてください。

おそらく、選択肢に「block」を追加したいのではないでしょうか。そうしないと、再度選択するには元に戻すボタンを使用する必要があります。

「いいね!」 2

おっと、インポートする代わりに「新規作成」をクリックしていたことに気づきました…
しかし、URLを使用しようとすると、about.jsonが無効であるか存在しないと表示され、テーマかどうか尋ねられます。
About.json:

何か問題がありますか?

ライセンスURLの後にカンマがありません。

「いいね!」 4

:roll_eyes:
@merefield バージョンは""に入りますか?

「いいね!」 1

それもそうでしょう。例を見てください。

「いいね!」 1

ありがとうございます!最後の一つです。変数を表示させることができません。
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/common/header.html

適切に初期化しなかったからでしょうか?ガイドに従ってみました…

  1. 「header.html」を使用せず、適切なコンポーネント(.gjsファイルが望ましいですが、.hbsでも可)を使用してください。
  2. 設定や変数からHTMLを出力する際は、常にhtml-safeヘルパーを使用してください。
「いいね!」 2

それなら、以下を使用する必要がありますか

import Component from "@glimmer/component";

export default class PracticeComponent extends Component {
  get bannerLinks() {
    return JSON.parse(settings.banner_links);
  }
}

それから?

「いいね!」 1

何十億もの例を見てみましょう :stuck_out_tongue_winking_eye:

「いいね!」 1

javascript で処理する必要がある場合のみ gjs ファイルを使用し、そうでない場合は hbs テンプレート ファイルで十分な場合があります。実験してください。

「いいね!」 1

正しい方向に向かっているか分かりません。
javascripts/persistent-banner.hbs を以下のように作成しました。
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/javascripts/persistent-banner.hbs

しかし、何も表示されません。色々な場所に置いてみましたが、うまくいきませんでした。
例を見ようとしましたが、あまり役に立たないようです。
何かアドバイスはありますか?

「いいね!」 1

バナーをどのプラグインコンセントに入れたいですか?
Using Plugin Outlet Connectors from a Theme or Plugin を参照してください。

例として https://meta.discourse.org/t/add-a-featured-topic-list-to-your-discourse-homepage/132949?u=moin を使用できます。

プラグインコンセントの名前と場所を見つけるには、(deprecated) Plugin outlet locations theme component を使用できます。「above-main-container」は、たとえばトピックリストの上部ですが、サイドバーの上部ではありません。

同様のものを追加する Theme component のコードを確認することも、学習の良い方法です。

「いいね!」 2

hbs ファイルにスクリプト タグを記述する必要はなく、記述すべきではありません。スクリプト タグはテンプレートの内容に限定する必要があります。

当てずっぽうでやめ、ガイドを読んでください。

「いいね!」 3

hbsファイルを使わずに、代わりにhandlebarsを使用した<script>タグで動作させることができました。これで動作します。
今はこのように使用していますが、代わりにhbsファイルを使用するよう試行を続けます。

「いいね!」 1

ファイルを適切に分割する方法を確認できるように、簡単なプルリクエストを作成しました。自由にマージするか、ブランチを確認してください。

「いいね!」 6

ありがとうございます!これで動作するようになりました!

「いいね!」 1

心配いりません、ネイト。実験、読書、他の例を見ることを続けてください。あっという間にこの開発作業は私よりもずっと上手になりますよ :smiley: :raised_hands:

「いいね!」 2

励ましありがとうございます!

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.