Skip to content

フィルター

この参考記事では、Liquidにおけるフィルターの概要と、Brazeでサポートされているフィルターを取り上げている。これらのフィルターの使い方のアイデアをお探しですか?Liquid のユースケースライブラリをご覧ください。

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

フィルター構文

フィルターは出力タグ {{ }} 内に配置し、パイプ文字 | を使用して示す必要があります。

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

この例では、Big Sale が文字列で、upcase が適用されるフィルターである。

複数フィルターの構文

1つの出力に複数のフィルターを使うことができる。左から右に適用される。

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

配列フィルター

アレイ・フィルターは、アレイの出力を変更するために使われる。

カラーフィルター

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

フォントフィルター

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

数学フィルター

数学フィルターでは、数学的な演算を行うことができる。1つの出力に複数のフィルターを使用した場合、左から右に適用される。

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

2つのカスタム属性の間で数学的演算を実行することはできないことを覚えておいてほしい。

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

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

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

ユースケース:現在の残高を計算する

例えば、ギフトカードの残高と報酬の残高を足して、ユーザーの現在の残高を計算したいとしよう。

  1. assign タグを使って、current_rewards_balance のカスタム属性を “balance “という用語に置き換える。つまり、操作できる balance という名前の新しい変数が得られました。
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}

2.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 など)。

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

カスタム属性(account_balance など)を入力する場合は、常にmoney フィルターを使用して小数を適切な位置に置き、数字のエンドツーエンドのゼロの脱落を防ぐ必要がある:

1
${{custom_attribute.${account_balance} | money}}

Brazeのmoney フィルターがShopifyと異なるのは、プリセット設定に従って自動的に小数点を適用しない点である。例えば、rewards_redeemed145 という値が含まれている場合を考えてみよう:

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

Shopifyのマネーフィルターによると、これは$1.45 の出力となるはずだが、Brazeでは$145.00 の出力となる。回避策として、マネーフィルターを適用する前に、divided_by フィルターを使用して数値を小数に変換することができます。

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

文字列フィルター

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

追加フィルター

以下の一般的なフィルターは、コンテンツの書式設定や変換など、さまざまな目的に使用できる。

エンコーディングや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

タイムゾーンフィルター

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!