埋め込みでフルネームを表示する方法

こんにちは皆さん

この投稿を読みました How to display full name in comments embeds

これらのコマンドを実行しました。

cd /var/discourse
./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# cd app/views/embed/
root@discourse-app:/var/www/discourse/app/views/embed# nano comments.html.erb

Nano がインストールされていなかったので、インストールして、参照された投稿で言及されている行を置き換えて comments.html.erb を編集しました。

その後、ランチャーを終了して実行しました。

./launcher rebuild app

再構築後、何も変わりませんでした。埋め込みでユーザー名の代わりにフルネームが表示されます。

どこで間違えましたか?

ありがとうございます。

「いいね!」 2

マークさん、ようこそ!:wave:

アプリを再構築すると、コンテナ内で行った変更はすべて上書きされ、Discourse が再ダウンロードされます。

Discourse に変更を加えたい場合、このようにファイルを編集するのは適切な方法ではありません。

Discourse の機能をカスタマイズするには、通常、テーマコンポーネントを使用します。

またはプラグインを使用します。

コーディングの知識があれば、これらのリンクをご覧になることをお勧めします。:slight_smile:


このリンクは特に興味深いかもしれません。

一見すると、探しているものとまったく同じことをしているようです。同じ親フォルダー内の別のファイルを対象としているだけです。

「いいね!」 1

@Canapin ご提案ありがとうございます。

このリポジトリを作成しました。https://github.com/OptDev/optuma-discourse-custom-embed

しかし、あまり進捗がありません。

このコマンドを実行するとエラーなくビルドされます。

./launcher enter app

しかし、埋め込みで期待している変更が見られないようです。いくつかのカスタムCSSクラス名を追加し、<% post.user.username %><%= post.user.name %> に変更しました。これを機能させるために、もう少し方向性を教えていただけると幸いです。プラグインから別のプラグインのテンプレートファイルを上書きするのは、それほど複雑ではないと想像しています。

できたこととしては、アプリに入り、手動でプラグインのテンプレートバージョンを /var/www/discourse/app/views/embed/ にコピーし、アプリを再起動すると、探している結果が表示されます。

プラグインがロードされたときに自動的に行われるようにしたいのですが、そこが詰まっているところです。

プラグイン内の app/views/embed/comments.html.erb ファイルが上書きされないのはなぜでしょうか?

after_initialize do
  ::EmbedController.prepend_view_path File.expand_path("../embed", __FILE__)
end

はい、これで合っていました。パスの問題があっただけです。

次に、プライベート Git リポジトリからプルする方法を見つける必要があります。

「いいね!」 1

プライベートアクセストークンをクローンしたURLに追加してください

@merefield アプリケーションの .yml ファイルでは、どのようになりますか?

わかりました、ここで見つけました。Install plugins on a self-hosted site

注意点として、ドキュメントには「トークン」を使用すると記載されています…

git clone https://<token>@github.com/owner/repo.git

GitHubのユーザー名とトークンを使用する必要があることがわかりました。

git clone https://<github-username>:<token>@github.com/owner/repo.git

「いいね!」 1

最終的にプラグインは意図したとおりに機能しましたか? :slight_smile:

@Canapin はい!すべて正常に動作しました。プラグインの plugin.rb は以下のようになりました。カスタムバージョンのファイルを配置していたパスに問題があったようです。

/custom_views/embed/comments.html.erb

というフォルダに配置しました。

# frozen_string_literal: true

# name: optuma_discourse_custom_embed
# about: A simple plugin to used to customise the template in the forum embeds
# version: 1.0.0
# authors: Optuma Pty Ltd
# url: https://github.com/OptDev/optuma-discourse-custom-embed
# required_version: 2.7.0

after_initialize do
  ::EmbedController.prepend_view_path File.expand_path("../custom_views", __FILE__)
end
「いいね!」 1

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