フィルター
このリファレンス記事では、液体中のフィルターの概要と、ろう付けでサポートされているフィルターのカバーについて説明します。これらのフィルタをどのように使用できるかについてのアイデアを探していますか?液体ユースケースライブラリをチェックしてください。
フィルタは、液体内の数値、文字列、変数、およびオブジェクトの出力を変更する方法です。フィルタを使用して、文字列を小文字から大文字に変更したり、加算や除算などの数学的演算を実行したりするなど、静的テキストまたは動的テキストを再フォーマットできます。
フィルタは、出力タグ{{ }}
内に配置する必要があり、パイプ文字|
で示されます。
1
{{"Big Sale" | upcase}}
1
BIG SALE
この例では、Big Sale
は文字列で、upcase
は適用されているフィルタです。
1つの出力に複数のフィルタを使用できます。それらは左から右に適用されます。
1
{{ "Big Sale" | upcase | remove: "BIG" }}
1
SALE
ろう付けは、Shopifyのすべての液体フィルターをサポートしているわけではありません。このページでは、ろう付けがテストした液体フィルターのアウトラインを作成しますが、完全なリストではない場合があります。メッセージを送信する前に必ず液体をテストしてください。
ここにリストされていないフィルタに関する質問がある場合は、カスタマーサクセスマネージャーに連絡してください。
配列フィルタ
配列フィルタは、配列の出力を変更するために使用されます。
フィルタ | 定義 | サポートされる |
---|---|---|
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 |
整数(整数) を液体の整数で除算する場合、答えが浮動小数点数(10 進数) の場合、Liquid は自動的に最も近い整数に切り捨てます。ただし、整数を浮動小数点で除算すると、常に浮動小数点が得られます。つまり、整数をfloat (1.0, 2.0, 3.0) に変換してfloat を返すことができます。
たとえば、{{15 | divided_by: 2}}
は7
を出力し、{{15 | divided_by: 2.0}}
は7.5
を出力します。
カスタム属性を使用した数学演算
2 つのカスタム属性間で数学演算を実行することはできないことに注意してください。
1
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}
この例は、Liquid の1 行で複数のカスタム属性を参照できないため、機能しません。代わりに、数学関数を実行する前に、これらの値の少なくとも1つに変数を割り当てる必要があります。2 つのカスタム属性を一緒に追加するには、2 行のLiquid が必要です。
- カスタム属性を変数に割り当てるには、
- 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のマネーフィルター
Shopify money
フィルタの動作は、ブレーズでの使用方法とは異なります。予想される動作を正確に示すには、次の例を参照してください。
カスタム属性(account_balance
など) を入力する場合は、常にmoney
フィルタを使用して、小数点以下の桁数が適切な位置にあること、およびゼロが数字の末尾から削除されないことを確認する必要があります。
1
${{custom_attribute.${account_balance} | money}}
MONEY FILTER | でMONEY FILTER |
---|---|
ここで、account_balance は17.8 で入力されます。 |
account_balance は17.8 で入力されます。 |
Brazeのmoney
フィルタは、プリセット設定に応じて自動的に小数点を適用しない点でShopifyと異なります。たとえば、rewards_redeemed
に145
の値が含まれる次のシナリオを考えます。
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
文字列フィルタ
文字列フィルタは、文字列の出力と変数を操作するために使用されます。文字列は英数字の組み合わせであり、引用符で囲む必要があります。
直線引用符は、Liquidの中括弧引用符とは異なります。テキストエディタからBraze にLiquid をコピー&ペーストするときは注意してください。中抜きの引用符があると、Liquid にエラーが発生します。液体を直接ろうそくに書き込む場合は、直線引用符が自動的に適用されます。
フィルタ | 説明 | サポート対象 |
---|---|---|
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