カスタムメンバーフィルターで利用できるカスタム処理の変数
カスタム処理で独自に定義したフィルターをカスタムメンバーフィルターで使用できます。
カスタムメンバーフィルター編集画面で、カスタム処理タブを開き、適応するカスタム処理を選択してください。
カスタムメンバーフィルターの変数
変数名 | 種別 | 説明 |
---|---|---|
$params | 入力変数 | カスタムメンバーフィルターに設定したJSONが渡されます。 |
$data | 出力変数 | $data.result (真偽値)または、$data.filter (フィルタ用の文字列)のいずれかを設定します。両方指定された場合は $data.result が優先されます。 |
$params
カスタムメンバーフィルターに設定したJSONが渡されます。
$data.result
0/1 または false/true を指定します。
値 | 説明 |
---|---|
0, false | すべてのメンバーを出力しない |
1, true | すべてのメンバーを出力する |
備考
$data.filter
が同時に指定された場合は、$data.result
が優先されます。
$data.filter
フィルタ用の文字列を指定します。
例:member_id in [2,4,5]
形式は、Member::listのエンドポイントにかけるフィルタと同様です。
利用できる条件や記述は検索機能の使い方を参照してください。
カスタム処理の例
カスタム処理内で{date}
のSmartyプラグインや$smarty.session.member_id
を利用することで、カスタムメンバーフィルターを利用した日付や、メンバーで結果が変わるフィルターを作成できます。
カスタム処理の例をいくつか紹介します。
$data.result の利用例
毎月5日に全てのメンバーに出力し、5日以外は誰も出力しないフィルター。
{assign_array var="data" values=""}
{date var='day' time='now' format='d'}
{if $day == 5}
{append var="data" index="result" value=true}
{else}
{append var="data" index="result" value=false}
{/if}
$paramsと$data.resultの利用例
毎月、カスタムメンバーフィルターで指定された日に全てのメンバーに出力し、それ以外は誰も出力しないフィルター。
カスタムメンバーフィルター編集画面のJSON
{"special_day": 5}
カスタム処理
{assign_array var="data" values=""}
{date var='day' time='now' format='d'}
{if $day == $params.special_day}
{append var="data" index="result" value=true}
{else}
{append var="data" index="result" value=false}
{/if}
$data.filter の利用例
メンバーの拡張項目に「業種(business_type)」を定義し、カスタムメンバーフィルターを利用したログインメンバーと同一の「業種」のメンバーを出力するフィルター。
{assign_array var="data" values=""}
{assign_array var="method_params" values=""}
{assign_array var="request_params" values=""}
{append var="method_params" index="member_id" value=$smarty.session.member_id}
{api_method
var='member'
model='Member'
method='details'
version='1'
method_params=$method_params
request_params=$request_params
}
{if $member}
{append var="data" index="filter" value="business_type=`$member.details.business_type.key`"}
{else}
{append var="data" index="result" value=false}
{/if}
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。