팀원 여러분,
게시물 데이터 형식을 YYYY-MM-DD HH:mm으로 수정하려고 합니다.
프론트엔드 JavaScript에서 수정하는 것은 합리적이지 않은 것 같습니다.
- 이 시간을 테마를 통해 오버라이드할 수 있나요?
- 이메일에서도 이 값을 어떻게 수정할 수 있나요?(현재는 날짜만 표시됩니다)
팀원 여러분,
게시물 데이터 형식을 YYYY-MM-DD HH:mm으로 수정하려고 합니다.
프론트엔드 JavaScript에서 수정하는 것은 합리적이지 않은 것 같습니다.
모든 날짜 형식과 기타 텍스트를 커스터마이징할 수 있습니다. 다음 가이드를 확인해 보세요:
아, 그렇군요!
그렇다면 “상대 날짜 기간” 사이트 설정을 변경해 보실 수 있습니다.
relative_date_duration: 게시 후 며칠 동안 게시 날짜를 절대 날짜(2월 20일) 대신 상대 날짜(7일 전)로 표시할지 결정합니다.
따라서 귀하의 경우 이 값을 0으로 설정하시면 될 것 같습니다.
네,
0으로 설정해 두었는데도 여전히 적용이 되지 않습니다. 시간이 좀 걸리는 건가요, 아니면 도메인 변경 후에 하듯이 rake posts:rebake를 실행해야 하나요?
페이지를 새로고침하면 적용되어야 합니다. 차이가 있나요? 현재 게시글의 날짜는 어떻게 표시되고 있나요?
음, 23.5시간 이전의 날짜는 해당 설정과 관계없이 항상 상대 시간으로 표시되는 것 같습니다:
따라서 설정 변경은 1일 이상 지난 게시물에 적용되었을 것입니다. 하지만 1일 미만인 항목의 동작 방식을 변경할 수 있는 방법이 현재는 없는 것으로 보입니다.
이 파일을 보고 있습니다.
discourse-main/app/assets/javascripts/discourse/app/components/post/meta-data/date.gjs
<template>
<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>
이것이 올바른 템플릿인가요? 테마 컴포넌트로 변경할 수 있을까요?
아니요, unfortunately .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