「public=true」 so poll default を上書き

初心者ですが、問題を解決することに興味があるので、ChatGPTに尋ねました。

以下がその回答です。

あなたが見つけたスクリプトは良い出発点です。コントローラーの onShow() 関数が呼び出されたときに publicPoll プロパティを true に設定するように poll-ui-builder コントローラーを変更しています。これは、テーマコンポーネントとして追加されることを意図したものです。

ただし、コードの実行順序によって、コードが機能しない可能性があります。元の onShow() メソッドは publicPollfalse に設定し、その後、変更によって publicPolltrue に設定されます。

正しい方法としては、まず親の onShow メソッドを呼び出し、その後 publicPolltrue に設定することです。

<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
  onShow() {
    this._super(...arguments);
    this.set('publicPoll', true);
  }
});
</script>

このスクリプトをテーマに追加するには、次の手順に従います。

  1. Discourse管理ダッシュボードに移動します。
  2. 「カスタマイズ」セクションで、「テーマ」をクリックします。
  3. 変更したいテーマを選択します。
  4. テーマ編集画面で、「CSS/HTMLの編集」をクリックします。
  5. 左側のサイドバーで、「</> コモン」をクリックします。
  6. 上記のスクリプトを「</> コモン」セクションに貼り付けます。
  7. 「保存」ボタンをクリックします。

これで、変更がテーマに適用されます。テーマの変更は、その特定のテーマを使用しているユーザーにのみ適用されることに注意してください。複数のテーマがある場合は、各テーマに変更を追加する必要があります。

また、変更が正しく読み込まれるように、ブラウザのキャッシュをクリアするか、ハードリロードすることを忘れないでください。

フォーラムの管理者にこれらの手順に従って試してみますが、時間がかかります。もし他の誰かが先に試してフィードバックをいただけると、非常に嬉しいです。

もう一つ、UIの動作を変更したいと考えています。シンプルな画面をスキップしたいので、再度ChatGPTに尋ねました。

現在のコードでは、拡張ビューは showAdvanced プロパティによって制御されています。これが true に設定されている場合、拡張ビューが表示されます。

拡張ビューを常に表示するには、poll-ui-builder コントローラーの onShow() メソッドを変更して showAdvancedtrue に設定します。この変更は、以前に作成したテーマコンポーネントに追加できます。以下が更新されたスクリプトです。

<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
  onShow() {
    this._super(...arguments);
    this.set('publicPoll', true);
    this.set('showAdvanced', true);
  }
});
</script>

このスクリプトをテーマに追加するには、以前に説明した手順に従ってください。スクリプトを保存すると、投票UIが読み込まれたときに常に拡張ビューが表示されるはずです。

また、変更が正しく読み込まれるように、ブラウザのキャッシュをクリアするか、ハードリロードすることを忘れないでください。

自分で試してテストできれば素晴らしいのですが、前述の通り、サイトの管理者ではなくモデレーターにすぎないので、これには数日または数週間かかります。

「いいね!」 2