Skip to content

フィルター

このリファレンス記事では、液体中のフィルターの概要と、ろう付けでサポートされているフィルターのカバーについて説明します。これらのフィルタをどのように使用できるかについてのアイデアを探していますか?液体ユースケースライブラリをチェックしてください。

フィルタは、液体内の数値、文字列、変数、およびオブジェクトの出力を変更する方法です。フィルタを使用して、文字列を小文字から大文字に変更したり、加算や除算などの数学的演算を実行したりするなど、静的テキストまたは動的テキストを再フォーマットできます。

フィルタは、出力タグ{{ }} 内に配置する必要があり、パイプ文字| で示されます。

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

この例では、Big Sale は文字列で、upcase は適用されているフィルタです。

1つの出力に複数のフィルタを使用できます。それらは左から右に適用されます。

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

配列フィルタ

配列フィルタは、配列の出力を変更するために使用されます。

フィルタ 定義 サポートされる
join パラメータとして渡された文字で配列の要素を結合します。結果は単一の文字列になります。 ✅ Yes
最初の 配列の最初の要素を返します。カスタム属性配列では、これが最も古い付加価値です。 ✅ Yes
last 配列の最後の要素を返します。カスタム属性配列では、これは最後に追加された値です。 ✅ Yes
compact 配列から任意のnil項目を削除します。 ✅ Yes
concat 配列を別の配列と結合します。 ✅ Yes
index 配列内の指定されたインデックス位置の項目を返します。配列の最初の要素は[0]で参照されます。 ✅ Yes
map 配列要素の属性をパラメータとして受け入れ、配列要素の値から配列を作成します。 ✅ Yes
reverse 配列内の項目の順序を逆にします。 ✅ Yes
size 文字列の大きさ(文字数)または配列(要素数)を返します。 ✅ Yes
sort 配列内の要素の属性によって配列の要素を並べ替えます。 ✅ Yes
sort_natural 大文字小文字を区別しないアルファベット順に配列内の項目を並べ替えます。 ✅ Yes
uniq 配列内の要素の重複したインスタンスを削除します。 ✅ Yes
ここで 特定のプロパティ値を持つ項目のみを含めるように配列をフィルタリングします。 ✅ Yes

カラーフィルター

カラーフィルタはブレーズではサポートされていません。

フォントフィルタ

フォントフィルタはブレーズではサポートされていません。

演算フィルタ

演算フィルタを使用すると、数学演算を実行できます。1 つの出力で複数のフィルタを使用する場合、フィルタは左から右に適用されます。

フィルタ 定義 サポートされる
abs 数値の絶対値を返します。 ✅ Yes
at_most 数値を最大値に制限します。 ✅ Yes
少なくとも 数値を最小値に制限します。 ✅ Yes
ceil 最も近い整数まで丸めます。 ✅ Yes
divided_by 出力を数値で除算します。出力は、最も近い整数に切り捨てられます。丸みを避けるために、次のヒントを確認してください。 ✅ Yes
floor 出力を最も近い整数に丸めます。 ✅ Yes
マイナス 出力から数値を減算します。 ✅ Yes
plus 出力に数値を追加します。 ✅ Yes
round 最も近い整数または指定した小数点以下の桁数に丸めます。 ✅ Yes
出力に数値を乗算します。 ✅ Yes
modulo 出力を数値で除算し、剰余を返します。 ✅ Yes

カスタム属性を使用した数学演算

2 つのカスタム属性間で数学演算を実行することはできないことに注意してください。

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

この例は、Liquid の1 行で複数のカスタム属性を参照できないため、機能しません。代わりに、数学関数を実行する前に、これらの値の少なくとも1つに変数を割り当てる必要があります。2 つのカスタム属性を一緒に追加するには、2 行のLiquid が必要です。

  1. カスタム属性を変数に割り当てるには、
  2. 1 つは加算を実行します。

たとえば、ギフトカード残高と報酬残高を加算して、ユーザーの現在の残高を計算するとします。まず、assign タグを使用して、current_rewards_balance のカスタム属性を”balance” という用語で置き換えます。これは、balance という名前の変数があり、これを操作できることを意味します。

1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}

次に、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 小数点以下の桁数が正しい位置にあることを保証するための数値の書式、および任意の数値の末尾からゼロが削除されないようにする ✅ Yes
money_with_currency 通貨記号付きの数値を書式設定します。 ⛔ No
money_without_currency 通貨記号のない数値を書式設定します。 ⛔ No

ShopifyのマネーフィルターとBrazeのマネーフィルター

カスタム属性(account_balance など) を入力する場合は、常にmoney フィルタを使用して、小数点以下の桁数が適切な位置にあること、およびゼロが数字の末尾から削除されないことを確認する必要があります。

1
${{custom_attribute.${account_balance} | money}}
MONEY FILTER でMONEY FILTER
マネーフィルタあり マネーフィルタなし
ここで、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 フィルタを使用して、マネーフィルタを適用する前に数値を10 進数に操作できます。

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

文字列フィルタ

文字列フィルタは、文字列の出力と変数を操作するために使用されます。文字列は英数字の組み合わせであり、引用符で囲む必要があります。

フィルタ 説明 サポート対象
append 文字列に文字を追加します。 ✅ Yes
camelcase 文字列をCamelCase に変換します。 ⛔ No
capitalize 文字列の最初の単語を大文字にします。 ✅ Yes
小文字 文字列を小文字に変換します。 ✅ Yes
escape 文字列をエスケープします。 ✅ Yes
handle/handleize 文字列をハンドルにフォーマットします。 ⛔ No
md5 文字列をMD5ハッシュに変換します。詳細はエンコードフィルタ を参照してください。 ✅ Yes
sha1 文字列をSHA-1 ハッシュに変換します。詳細はエンコードフィルタ を参照してください。 ✅ Yes
hmac_sha1_hex
(以前はhmac_sha_1)
ハッシュメッセージ認証コード(HMAC)を使用して、文字列をSHA-1ハッシュに変換します。メッセージの秘密鍵をパラメータとしてフィルタに渡します。詳細はエンコードフィルタ を参照してください。 ✅ Yes
hmac_sha256 ハッシュメッセージ認証コード(HMAC)を使用して、文字列をSHA-256 ハッシュに変換します。パラメータとしてメッセージのシークレットキーをフィルタに渡します。 ✅ Yes
hmac_sha512 ハッシュメッセージ認証コード(HMAC)を使用して、文字列をSHA-512ハッシュに変換します。パラメータとしてメッセージのシークレットキーをフィルタに渡します。 ✅ Yes
newline_to_br <br>改行HTMLタグを文字列の改行ごとに挿入します。 ✅ Yes
pluralize 英語文字列の単数形または複数形を数値に基づいて出力します。 ⛔ No
prepend 文字列の先頭に文字を付加します。 ✅ Yes
remove 文字列から部分文字列の出現をすべて削除します。 ✅ Yes
remove_first 文字列から部分文字列の最初の出現のみを削除します。 ✅ Yes
replace 文字列のすべての出現箇所を部分文字列で置き換えます。 ✅ Yes
replace_first 文字列の最初の出現を部分文字列で置き換えます。 ✅ Yes
slice スライスフィルタは、指定したインデックスから始まる部分文字列を返します。 ✅ Yes
split 分割フィルタは、部分文字列をパラメータとして受け取ります。部分文字列は、文字列を配列に分割するための区切り文字として使用されます。 ✅ Yes
strip 文字列の左右からタブ、空白、改行(すべての空白)を取り除きます。 ✅ Yes
lstrip 文字列の左側からタブ、空白、および改行(すべての空白) を取り除きます。 ⛔ いいえ
rstrip 文字列の右側からタブ、空白、および改行(すべての空白) を取り除きます。 ⛔ いいえ
strip_html 文字列からすべてのHTML タグを削除します。 ✅ Yes
strip_newlines 文字列から改行/改行を削除します。 ✅ Yes
truncate 文字列を最初のパラメータとして渡された文字数まで切り捨てます。省略記号(…) が切り捨てられた文字列に追加され、文字数に含まれます。 ✅ Yes
truncatewords 最初のパラメータとして渡された単語の数まで文字列を切り捨てます。省略記号(…) が切り捨てられた文字列に追加されます。 ✅ Yes
upcase 文字列を大文字に変換します。 ✅ Yes

追加のフィルター

以下の一般的なフィルタは、コンテンツのフォーマットや変換など、さまざまな目的に役立ちます。

フィルタ 説明 サポート対象
日付 タイムスタンプを別の日付形式に変換します。詳細については、日付フィルタを参照してください。 ✅ Yes
default 値が割り当てられていない変数のデフォルト値を設定します。文字列、配列、ハッシュで使用できます。 ✅ Yes
format_address アドレスのロケールに従って、アドレスの要素を順番に出力するアドレスをフォーマットします。 ⛔ No
highlight HTML <strong> タグで検索結果内の単語をラップし、サブミットされた検索用語と一致する場合はクラスhighlight を付けます。 ⛔ No
time_zone タイムゾーンフィルタを参照してください。 ✅ はい

詳細フィルタ ページでは、エンコーディングや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 時刻に変換することもサポートしています。例えば、Unix 時刻でdate_attribute を取得するには、次のようにします。

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

タイムゾーンフィルタ

Shopifyのドキュメントに記載されているフィルタに加えて、Brazeはtime_zoneフィルタもサポートしています。

time_zoneフィルタは、時刻、タイムゾーン、日付の形式を取り、指定された日付形式でそのタイムゾーンの時刻を返します。たとえば、{{custom_attribute.$date_attribute}}} の値が2021-08-04 9:00:00 UTC であるとします。

1
{{custom_attribute.${date_attribute} | time_zone: 'America/Los_Angeles' | date: '%a %b %e %T' }}
1
Wed August 4 2:00:00

また、予約変数now を使用して、現在の日付と時刻にアクセスして操作することもできます。

1
{{ 'now' | date: '%Y-%m-%d %H:%M:%S' }}
1
2021-08-04 18:13:13
「このページはどの程度役に立ちましたか?」
New Stuff!