Skip to content

필터

이 참조 문서에서는 Liquid의 필터에 대한 개요를 제공하며, Braze에서 지원하는 필터를 다룹니다. 이러한 필터를 어떻게 사용할 수 있는지 아이디어를 찾고 계신가요? Liquid 사용 사례 라이브러리를 확인해 보세요.

필터는 Liquid에서 숫자, 문자열, 변수 및 오브젝트의 출력을 수정하는 방법입니다. 필터를 사용하여 문자열을 소문자에서 대문자로 변경하거나 덧셈이나 나눗셈과 같은 수학 연산을 수행하는 등 정적 또는 동적 텍스트를 다시 포맷할 수 있습니다.

필터 구문

필터는 출력 태그 {{ }} 안에 배치해야 하며, 파이프 문자 |로 표시됩니다.

1
{{"Big Sale" | upcase}}
1
BIG SALE

이 예시에서 Big Sale은 문자열이고, upcase는 적용되는 필터입니다.

다중 필터 구문

하나의 출력에 여러 필터를 사용할 수 있습니다. 필터는 왼쪽에서 오른쪽으로 적용됩니다.

1
 {{ "Big Sale" | upcase | remove: "BIG" }}
1
SALE

배열 필터

배열 필터는 배열의 출력을 변경하는 데 사용됩니다.

필터 정의 지원 여부
join 배열의 요소를 매개변수로 전달된 문자로 결합합니다. 결과는 단일 문자열입니다. ✅ 예
first 배열의 첫 번째 요소를 반환합니다. 커스텀 속성 배열에서는 가장 오래전에 추가된 값입니다. ✅ 예
last 배열의 마지막 요소를 반환합니다. 커스텀 속성 배열에서는 가장 최근에 추가된 값입니다. ✅ 예
compact 배열에서 nil 항목을 제거합니다. ✅ 예
concat 배열을 다른 배열과 결합합니다. ✅ 예
find_index 배열에서 지정된 인덱스 위치의 항목을 반환합니다. 배열의 첫 번째 항목은 [0]으로 참조됩니다. ⛔ 아니요
map 배열 요소의 속성을 매개변수로 받아 각 배열 요소의 값으로 배열을 생성합니다. ✅ 예
reverse 배열에서 항목의 순서를 뒤집습니다. ✅ 예
size 문자열의 크기(문자 수) 또는 배열의 크기(요소 수)를 반환합니다. ✅ 예
slice 지정된 인덱스에서 시작하여 문자열의 부분 문자열 또는 배열의 부분 집합을 반환합니다. ✅ 예
sort 배열의 요소를 배열 내 요소의 지정된 속성으로 정렬합니다. ✅ 예
sort_natural 배열의 항목을 대소문자를 구분하지 않는 알파벳 순서로 정렬합니다. ✅ 예
uniq 배열에서 중복된 요소 인스턴스를 제거합니다. ✅ 예
where 특정 등록정보 값을 가진 항목만 포함하도록 배열을 필터링합니다. ✅ 예

색상 필터

색상 필터는 Braze에서 지원되지 않습니다.

글꼴 필터

글꼴 필터는 Braze에서 지원되지 않습니다.

수학 필터

수학 필터를 사용하면 수학 연산을 수행할 수 있습니다. 하나의 출력에 여러 필터를 사용하면 왼쪽에서 오른쪽으로 적용됩니다.

필터 정의 지원 여부
abs 숫자의 절대값을 반환합니다. ✅ 예
at_most 숫자를 최대값으로 제한합니다. ✅ 예
at_least 숫자를 최소값으로 제한합니다. ✅ 예
ceil 출력을 가장 가까운 정수로 올림합니다. ✅ 예
divided_by 출력을 숫자로 나눕니다. 출력은 가장 가까운 정수로 내림됩니다. 반올림을 방지하려면 다음 팁을 확인하세요. ✅ 예
floor 출력을 가장 가까운 정수로 내림합니다. ✅ 예
minus 출력에서 숫자를 뺍니다. ✅ 예
plus 출력에 숫자를 더합니다. ✅ 예
round 출력을 가장 가까운 정수 또는 지정된 소수 자릿수로 반올림합니다. ✅ 예
times 출력에 숫자를 곱합니다. ✅ 예
modulo 출력을 숫자로 나누고 나머지를 반환합니다. ✅ 예

커스텀 속성을 사용한 수학 연산

두 개의 커스텀 속성 간에 수학 연산을 수행할 수 없다는 점을 유의하세요.

1
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}

이 예시는 한 줄의 Liquid에서 여러 커스텀 속성을 참조할 수 없기 때문에 작동하지 않습니다. 대신 수학 함수가 실행되기 전에 이러한 값 중 하나 이상을 변수에 할당해야 합니다. 두 개의 커스텀 속성을 더하려면 두 줄의 Liquid가 필요합니다:

  1. 커스텀 속성을 변수에 할당하는 줄,
  2. 덧셈을 수행하는 줄.

사용 사례: 현재 잔액 계산

사용자의 기프트 카드 잔액과 리워드 잔액을 더하여 현재 잔액을 계산한다고 가정해 보겠습니다.

  1. assign 태그를 사용하여 current_rewards_balance의 커스텀 속성을 “balance”라는 용어로 대체합니다. 이렇게 하면 조작할 수 있는 balance라는 변수가 생깁니다.
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
  1. plus 필터를 사용하여 각 사용자의 기프트 카드 잔액과 {{balance}} 오브젝트로 표시되는 리워드 잔액을 결합합니다.
1
2
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
You have ${{custom_attribute.${giftcard_balance} | plus: {{balance}}}} to spend!
1
You have $35 to spend!

금액 필터

사용자에게 구매, 계정 잔액 또는 금액과 관련된 내용을 업데이트하는 경우 금액 필터를 사용해야 합니다. 금액 필터는 소수점이 올바른 위치에 있고 업데이트의 어떤 부분도 손실되지 않도록(끝에 있는 성가신 0처럼) 보장합니다.

필터 정의 지원 여부
money 소수점이 올바른 위치에 있고 숫자 끝에서 0이 제거되지 않도록 숫자를 포맷합니다. ✅ 예
money_with_currency 통화 기호와 함께 숫자를 포맷합니다. ⛔ 아니요
money_without_currency 통화 기호 없이 숫자를 포맷합니다. ⛔ 아니요

Shopify 금액 필터 vs Braze 금액 필터

커스텀 속성(예: account_balance)을 입력하는 경우, 항상 money 필터를 사용하여 소수점을 올바른 위치에 놓고 숫자 끝에서 0이 제거되는 것을 방지해야 합니다:

1
${{custom_attribute.${account_balance} | money}}
금액 필터 사용 시 금액 필터 미사용 시
금액 필터 사용 시 금액 필터 미사용 시
account_balance17.8로 입력된 경우. account_balance17.8로 입력된 경우.

Braze의 money 필터는 사전 설정에 따라 자동으로 소수점을 적용하지 않기 때문에 Shopify와 다릅니다. 예를 들어, rewards_redeemed145 값이 포함된 다음 시나리오를 살펴보겠습니다:

1
${{event_properties.${rewards_redeemed} | money }}
1
$145.00

Shopify의 money 필터에 따르면 출력이 $1.45여야 하지만, Braze에서는 $145.00으로 출력됩니다. 해결 방법으로, divided_by 필터를 사용하여 금액 필터를 적용하기 전에 숫자를 소수로 변환할 수 있습니다:

1
${{event_properties.${rewards_redeemed} | divided_by: 100.00 | money }}
1
$1.45

문자열 필터

문자열 필터는 문자열의 출력과 변수를 조작하는 데 사용됩니다. 문자열은 영숫자 문자의 조합이며 직선 따옴표로 감싸야 합니다.

필터 설명 지원 여부
append 문자열에 문자를 추가합니다. ✅ 예
camelize 문자열을 CamelCase로 변환합니다. ⛔ 아니요
capitalize 문자열의 첫 번째 단어를 대문자로 변환하고 나머지 문자를 소문자로 변환합니다. ✅ 예
downcase 문자열을 소문자로 변환합니다. ✅ 예
escape 문자열을 이스케이프합니다. ✅ 예
handleize 문자열을 핸들로 포맷합니다. ⛔ 아니요
md5 문자열을 MD5 해시로 변환합니다. 자세한 내용은 인코딩 필터를 참조하세요. ✅ 예
sha1 문자열을 SHA-1 해시로 변환합니다. 자세한 내용은 인코딩 필터를 참조하세요. ✅ 예
hmac_sha1_hex
(이전 hmac_sha_1)
해시 메시지 인증 코드(HMAC)를 사용하여 문자열을 SHA-1 해시로 변환합니다. 메시지의 비밀 키를 필터의 매개변수로 전달합니다. 자세한 내용은 인코딩 필터를 참조하세요. ✅ 예
hmac_sha256 해시 메시지 인증 코드(HMAC)를 사용하여 문자열을 SHA-256 해시로 변환합니다. 메시지의 비밀 키를 필터의 매개변수로 전달합니다. ✅ 예
hmac_sha512 해시 메시지 인증 코드(HMAC)를 사용하여 문자열을 SHA-512 해시로 변환합니다. 메시지의 비밀 키를 필터의 매개변수로 전달합니다. ✅ 예
newline_to_br 문자열의 각 줄 바꿈 앞에 <br> 줄 바꿈 HTML 태그를 삽입합니다. ✅ 예
pluralize 숫자 값에 따라 영어 문자열의 단수 또는 복수 버전을 출력합니다. ⛔ 아니요
prepend 문자열 앞에 문자를 추가합니다. ✅ 예
remove 문자열에서 부분 문자열의 모든 항목을 제거합니다. ✅ 예
remove_first 문자열에서 부분 문자열의 첫 번째 항목만 제거합니다. ✅ 예
replace 문자열의 모든 항목을 부분 문자열로 대체합니다. ✅ 예
replace_first 문자열의 첫 번째 항목을 부분 문자열로 대체합니다. ✅ 예
slice slice 필터는 지정된 인덱스에서 시작하는 부분 문자열을 반환합니다. ✅ 예
split split 필터는 부분 문자열을 매개변수로 받습니다. 부분 문자열은 문자열을 배열로 나누는 구분자로 사용됩니다. ✅ 예
strip 문자열의 왼쪽과 오른쪽에서 탭, 공백 및 줄 바꿈(모든 공백)을 제거합니다. ✅ 예
lstrip 문자열의 왼쪽에서 탭, 공백 및 줄 바꿈(모든 공백)을 제거합니다. ⛔ 아니요
rstrip 문자열의 오른쪽에서 탭, 공백 및 줄 바꿈(모든 공백)을 제거합니다. ⛔ 아니요
strip_html 문자열에서 모든 HTML 태그를 제거합니다. ✅ 예
strip_newlines 문자열에서 줄 바꿈/개행을 제거합니다. ✅ 예
truncate 문자열을 첫 번째 매개변수로 전달된 문자 수로 자릅니다. 잘린 문자열에 줄임표(…)가 추가되며 문자 수에 포함됩니다. ✅ 예
truncatewords 문자열을 첫 번째 매개변수로 전달된 단어 수로 자릅니다. 잘린 문자열에 줄임표(…)가 추가됩니다. ✅ 예
upcase 문자열을 대문자로 변환합니다. ✅ 예

추가 필터

다음 일반 필터는 콘텐츠 포맷 또는 변환을 포함한 다양한 용도로 사용됩니다.

필터 설명 지원 여부
date 타임스탬프를 다른 날짜 형식으로 변환합니다. 자세한 내용은 날짜 필터를 참조하세요. ✅ 예
default 할당된 값이 없는 변수에 기본값을 설정합니다. 문자열, 배열 및 해시와 함께 사용할 수 있습니다. ✅ 예
format_address 주소의 요소를 로케일에 따른 순서로 출력하도록 주소를 포맷합니다. ⛔ 아니요
highlight 제출된 검색어와 일치하는 경우 검색 결과 내의 단어를 highlight 클래스가 있는 HTML <strong> 태그로 감쌉니다. ⛔ 아니요

인코딩 및 URL 필터와 같은 더 많은 지원 필터는 고급 필터 페이지에서 확인할 수 있습니다.

날짜 필터

date 필터는 타임스탬프를 다른 날짜 형식으로 변환하는 데 사용할 수 있습니다. date 필터에 매개변수를 전달하여 타임스탬프를 다시 포맷할 수 있습니다. 이러한 매개변수의 예시는 strfti.me를 참조하세요.

예를 들어, date_attribute의 값이 타임스탬프 2021-06-03 17:13:41 UTC라고 가정해 보겠습니다.

1
{{custom_attribute.${date_attribute} | date: '%b %d'}}
1
03 June

strftime 포맷 옵션 외에도, Braze는 %s 날짜 필터를 사용하여 타임스탬프를 Unix 시간으로 변환하는 것도 지원합니다. 예를 들어, date_attribute를 Unix 시간으로 가져오려면:

1
{{custom_attribute.${date_attribute} | date: '%s' }}
1
1433351621
New Stuff!