텍스트 및 시스템 이메일 템플릿 커스터마이징을 위한 보간 키

:bookmark: 이 가이드는 Discourse에서 텍스트 및 시스템 이메일 템플릿을 커스터마이징하는 데 사용되는 보간 키(interpolation keys)에 대한 자세한 개요를 제공합니다.

:person_raising_hand: 필요한 사용자 권한: 관리자

Discourse에서 텍스트 커스터마이징 또는 특정 이메일 템플릿 커스터마이징을 할 때 일부 템플릿에 사용할 수 있는 플레이스홀더 변수가 있다는 것을 눈치채셨을 수 있습니다.

Discourse에서는 이러한 변수를 *보간 키(Interpolation Keys)*라고 부릅니다.

보간 키 이해하기

보간 키는 특정 Discourse 템플릿에서 사용할 수 있는 플레이스홀더입니다. 이를 통해 텍스트 및 이메일 템플릿에 동적 콘텐츠를 삽입할 수 있습니다.

Account Created 이메일 템플릿의 보간 키 예시:

%{username} 또는 %{site_name}과 같은 이러한 키는 이메일이 전송될 때 실제 데이터로 대체됩니다.

일반적으로 이러한 플레이스홀더는 속한 템플릿 내에서 위치를 변경할 수 있지만, 서버 코드와 연결되어 해당 템플릿에 종속되어 있기 때문에 해당 템플릿에서만 사용 가능하며 다른 템플릿으로 이동할 수 없습니다.

그러나 일부 템플릿 그룹은 기본 템플릿에 이미 존재하는 키 외에도 추가 보간 키를 허용합니다.

추가 보간 키

사용자 환영 시스템 메시지

system_messages.welcome_user 템플릿의 경우, 다음 추가 키를 사용할 수 있습니다:

  • username: 사용자의 사용자 이름
  • name: 사용자의 전체 이름
  • name_or_username: 사용자의 전체 이름 또는 사용자 이름

이러한 값은 런타임에서 SystemMessage 클래스에 의해 제공됩니다 (관련 Discourse 코드는 system_message.rb를 참조하세요).

사용자 알림 이메일

user_notifications 및 관련 이메일 템플릿(unsubscribe_mailing_list 및 unsubscribe_link 포함)의 경우, topic_title, username, site_name, url, unsubscribe_url 등을 포함한 많은 추가 키를 사용할 수 있습니다.

허용되는 모든 사용자 정의 보간 키의 완전하고 최신 목록 및 해당 키가 적용되는 템플릿 그룹에 대해서는 translation_override.rb의 Discourse 소스 코드의 ALLOWED_CUSTOM_INTERPOLATION_KEYS를 참조하세요.

9개의 좋아요

그것은 정확하지 않습니다. 현재는 system_messages.welcome_user에만 작동하지만, 다른 모든 키로 확장할 수 있습니다. 이는 #pr-welcome에 적합한 주제입니다.

4개의 좋아요

그 부분을 지적해 주셔서 감사합니다. 가이드에 수정하여 반영했습니다.

2개의 좋아요

안녕하세요!

이러한 보간 키 중 일부의 값을 수정하는 방법은 무엇인가요? 예를 들어, %{search_answer}

감사합니다!

안녕하세요!
이 키가 유효하지 않다고 나와요:

참고로
이메일이 아니라 텍스트를 대체하고 있어요 (이것이 차이를 만드나요)? 감사합니다!

그것들이 전 세계적으로 어디서나 자유롭게 사용 가능한 것은 아닌 것 같습니다.

1개의 좋아요

@Jagster 감사합니다! 텍스트 커스터마이징에 사용 중인데, 해당 주제 게시물의 내용대로라면 작동해야 하는 건가요?

사실 이 주제는 이메일 템플릿과 해당 텍스트에 관한 것입니다. 따라서 정해진 컨텍스트 밖에서 보간(interpolation) 키를 사용할 수 없습니다. 그래서 이메일에는 다른 키를, AI 프롬프트에는 또 다른 키를 사용하는 것입니다.

물론 플러그인으로 많은 것을 할 수는 있지만, 이번 경우에는 기본적으로 지원하지 않습니다.

그리고 참고로, 저도 그저 일반 사용자일 뿐이므로 제가 틀릴 수도 있습니다. 하지만 저는 제 주장이 맞다고 확신합니다 — 그래서 당신의 시도가 작동하지 않는 것입니다 :man_shrugging:

네, 지원해 주셔서 정말 감사합니다. 이메일 템플릿에서 사용해도 작동하지 않는 것 같습니다:

내 생각은 %{username}은 “사용자가 ~” 템플릿에서만 사용할 수 있고, 다른 템플릿들은 이를 지원하지 않는다는 것입니다.

하지만 내일 모든 고수들이 깨어났을 때 확인해 보겠습니다.