こんにちはチーム、
投稿データの形式を YYYY-MM-DD HH:mm に変更したいです。
フロントエンドの JavaScript で変更するのは妥当ではないようです。
- この時間をオーバーライドするためにテーマを使用できますか?
- メールでもこれを変更するにはどうすればよいですか(現在はデータのみ表示されています)。
こんにちはチーム、
投稿データの形式を YYYY-MM-DD HH:mm に変更したいです。
フロントエンドの JavaScript で変更するのは妥当ではないようです。
すべての表示形式は、他のテキストと共にカスタマイズできます。このガイドをご覧ください。
Davidさん、返信ありがとうございます。
このカスタム設定を見ましたが、ここには見当たらないようです。
すべての投稿の時刻形式を絶対時刻で表示したいです。たとえば、現在の私のトピック投稿「3h」は「12 May 17:33」と表示されます。
すべての投稿データを YYYY-MM-DD HH:mm 形式に変更する最善の方法をご存知でしたら教えてください。数分前に投稿されたものでも同様です。
なるほど!
その場合は、「相対日付期間」サイト設定を変更してみてください。
relative_date_duration: 投稿日から何日後まで、投稿日時を絶対値(20 Feb)ではなく相対値(7d)で表示するか。
したがって、あなたのケースでは、0に設定することになると思います。
はい、
それを0に設定しましたが、今はまだ効果がありません。少し時間がかかるのですか、それともドメインを変更した後に行うようにrake posts:rebakeを実行する必要がありますか?
効果を得るにはページのリフレッシュだけで済むはずです。何か変化はありましたか?今の投稿日時はどうなっていますか?
設定に関係なく、23.5時間未満の日付は常に相対表示されるようです。
したがって、設定の変更は1日以上前の投稿に適用されます。しかし、1日未満の動作を変更する方法は現在ないようです。
このファイルを見ました
discourse-main/app/assets/javascripts/discourse/app/components/post/meta-data/date.gjs
<div class="post-info post-date">
<a
class={{concatClass
"post-date"
(if (and @post.wiki @post.last_wiki_edit) "last-wiki-edit")
}}
href={{@post.shareUrl}}
title={{i18n "post.sr_date"}}
{{on "click" this.showShareModal}}
>
<RelativeDate @date={{this.date}} />
</a>
</div>
</template>
これは正しいテンプレートですか?テーマコンポーネントで変更できますか?
いいえ、残念ながら .gjs テンプレートを上書きすることはできません(上書きの安定性を向上させ奨励することを目的としています)
よく戻ってきましたね。@aksoforever!
これについてどのように進めていますか?あなたのユースケースについてもう少し教えてください。
なぜあなたはメンバーに対してこれほど長く絶対的な日付を課したいのですか? 「○○前」の日付は目に優しく、投稿の古さを知るのに必要な情報を伝えてくれます。マウスを重ねると明示的なタイムスタンプが表示されます。
ご注意いただきありがとうございます @tobiaseigen
はい、現在のDiscourseの表示は非常にモダンで親しみやすく、大多数の人にとってより適しています
頻繁に使用する少数の人にとっては、絶対時間を使用する方がより速くて直接的に感じられるでしょう。
メールの時間に関しては、現在は月と日だけを表示しています。
メールで情報を確認するのはユーザーフレンドリーではありません。特に数年前の情報を見返すときに、年が表示されていません。
現在、Discourseのダウングレードバージョンを使用しており、フロントエンドコードをコンポーネントを使用して書き直しています。
プラグイン内で以下のようにメールを使用していますが、テーマのコンポーネントからshort_dateを変更できますか?
after_initialize do
if SiteSetting.custom_email_date_format_enabled
module ::EmailHelper
def short_date(datetime)
china_time = datetime.in_time_zone("Asia/Shanghai")
china_time.strftime("%Y-%m-%d %H:%M")
end
end
end
end