テンプレート書式:プレースホルダ機能

Rtoaster action+の各種テンプレートで利用できるプレースホルダ機能 ${【アイテムフィールド名】} では、インポートデータやアイテムマスタのフィールド値への置換だけではなく、値の加工などの拡張機能があります。

テンプレート書式:プレースホルダ機能

WebテンプレートアプリコンテンツグループアプリJSONテンプレートメールテンプレートメールコンテンツグループで利用できる書式です。

  • アイテムマスタの値にHTMLで使用できない文字が含まれている場合、登録前に事前に変換してください。(例)「<」→「&lt;」、「>」→「&gt;」など
  • 【】で括られた箇所は適宜ご変更ください。
  • 半角文字は1バイト、全角文字は2バイトとしてカウントします。
  • 書式に誤りがある場合、値への置き換え処理等は一切実行されません。

基本機能

書式 動作
${【アイテムフィールド名】} 指定した【アイテムフィールド名】の値に置き換わります。
アイテムフィールドに【アイテムフィールド名】が定義されていない場合は置換せずそのまま出力します。
${_rt.sdt} アイテムに開始日時が設定されている場合に協定世界時 (UTC) の1970年1月1日深夜0時からの経過ミリ秒数に置き換えられます。
アイテムに開始日時が設定されていない場合は何も出力されません。
${_rt.sdt:<pattern>} アイテムに開始日時が設定されている場合に<pattern>で指定した形式の文字列に置き換えられます。
アイテムに開始日時が設定されていない場合は何も出力されません。
${_rt.edt} アイテムに終了日時が設定されている場合に協定世界時 (UTC) の1970年1月1日深夜0時からの経過ミリ秒数に置き換えられます。
アイテムに終了日時が設定されていない場合は何も出力されません。
${_rt.edt:<pattern>} アイテムに終了日時が設定されている場合に<pattern>で指定した形式の文字列に置き換えられます。
アイテムに終了日時が設定されていない場合は何も出力されません。

<pattern>について》

  • <pattern>はJavaのSimpleDateFormatで定義された日時パターンに準拠します。
    例)  yyyy-MM-dd HH:mm の場合は 2020-08-26 20:45 に変換されます 。
    yyyyMMdd の場合は 20200826 に変換されます。
  • 日時パターンが不正な場合はエラーとなり、値が置換されずにプレースホルダの記述がそのまま出力されます。

拡張機能

《制限事項》

置き換える【任意の文字列】の代わりに指定した【アイテムフィールド名】の値に置き換えることができます。
置き換えられるアイテムフィールド値に対して${【アイテムフィールド名】}以外の書式は使用できません。
指定した【アイテムフィールド名】の値に置き換える場合、以下の制限があります。

  • アイテムフィールド名として定義されていない値が指定された場合は、文字列として扱われます。
  • 置き換えられるアイテムフィールド値と文字列の組み合わせや、複数アイテムフィールド値の組み合わせによる文字列合成を行うことはできません。
  • プレースホルダをさらにネストすることはできません。
    例) 利用可 :${【アイテムフィールド名1】:+${【アイテムフィールド名2】:json}}
    例) 利用不可:${【アイテムフィールド名1】:+${【アイテムフィールド名2】:=【任意の文字列】?${【アイテムフィールド名3】}}}
書式 説明
${【アイテムフィールド名】:+【任意の文字列】} 指定した【アイテムフィールド名】の値が空でなければ【任意の文字列】に置き換わり、それ以外の場合は空となります。
${【アイテムフィールド名】:-【任意の文字列】} 指定した【アイテムフィールド名】の値が空でなければその値、それ以外の場合は【任意の文字列】に置き換わります。
${【アイテムフィールド名1】:+${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が空でなければ指定した【アイテムフィールド名2】の値に置き換わり、それ以外の場合は空となります。
${【アイテムフィールド名1】:-${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が空でなければその値、それ以外の場合は指定した【アイテムフィールド名2】の値に置き換わります。
${【アイテムフィールド名】:=【任意の文字列1】?【任意の文字列2】} 指定した【アイテムフィールド名】の値が【任意の文字列1】に一致すれば【任意の文字列2】に置き換わり、それ以外の場合は空となります。※1
${【アイテムフィールド名】:!【任意の文字列1】?【任意の文字列2】} 指定した【アイテムフィールド名】の値が【任意の文字列1】に一致しなければ【任意の文字列2】に置き換わり、それ以外の場合は空となります。※1
${【アイテムフィールド名1】:=【任意の文字列】?${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が【任意の文字列】に一致すれば指定した【アイテムフィールド名2】の値に置き換わり、それ以外の場合は空となります。※1
${【アイテムフィールド名1】:!【任意の文字列】?${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が【任意の文字列】に一致しなければ指定した【アイテムフィールド名2】の値に置き換わり、それ以外の場合は空となります。※1
${【アイテムフィールド名】:<【任意の数値】?【任意の文字列】} 指定した【アイテムフィールド名】の値が【任意の数値】未満ならば【任意の文字列】に置き換わり、【任意の数値】以上ならば空文字に置き換わります。 ※2
${【アイテムフィールド名】:<=【任意の数値】?【任意の文字列】} 指定した【アイテムフィールド名】の値が【任意の数値】以下ならば【任意の文字列】に置き換わり、【任意の数値】を超える場合、空文字に置き換わります。 ※2
${【アイテムフィールド名】:>=【任意の数値】?【任意の文字列】} 指定した【アイテムフィールド名】の値が【任意の数値】以上ならば【任意の文字列】に置き換わり、【任意の数値】未満ならば空文字に置き換わります。 ※2
${【アイテムフィールド名】:>【任意の数値】?【任意の文字列】} 指定した【アイテムフィールド名】の値が【任意の数値】を超える場合、【任意の文字列】に置き換わり、【任意の数値】以下ならば空文字に置き換わります。 ※2
${【アイテムフィールド名1】:<【任意の数値】?${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が【任意の数値】未満ならば指定した【アイテムフィールド名2】の値に置き換わり、【任意の数値】以上ならば空文字に置き換わります。 ※2
${【アイテムフィールド名1】:<=【任意の数値】?${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が【任意の数値】以下ならば指定した【アイテムフィールド名2】の値に置き換わり、【任意の数値】を超える場合、空文字に置き換わります。 ※2
${【アイテムフィールド名1】:>=【任意の数値】?${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が【任意の数値】以上ならば指定した【アイテムフィールド名2】の値に置き換わり、【任意の数値】未満ならば空文字に置き換わります。 ※2
${【アイテムフィールド名1】:>【任意の数値】?${【アイテムフィールド名2】}} 指定した【アイテムフィールド名1】の値が【任意の数値】を超える場合、指定した【アイテムフィールド名2】の値に置き換わり、【任意の数値】以下ならば空文字に置き換わります。 ※2
${【アイテムフィールド名】:|【任意の文字列1】|【任意の文字列2】} 指定した【アイテムフィールド名】の値に【任意の文字列1】が含まれる場合、【任意の文字列1】を【任意の文字列2】に置き換えます。
【任意の文字列1】に正規表現は利用できません。

${【アイテムフィールド名1】:|【任意の文字列】|${【アイテムフィールド名2】}}

指定した【アイテムフィールド名1】の値に【任意の文字列】が含まれる場合、【任意の文字列】を【アイテムフィールド名2】に置き換えます。
【任意の文字列】に正規表現は利用できません。
${【アイテムフィールド名】:【任意の文字数】} 指定した【アイテムフィールド名】の値が存在し、空でなければ値の【任意の文字数】+1文字目以降の文字列に置き換わります。
指定した【アイテムフィールド名】の値が【任意の文字列】+1文字以下の場合は空となります。
${【アイテムフィールド名】:【任意の文字数1】,【任意の文字数2】} 指定した【アイテムフィールド名】の値が存在し、空でなければ値の【任意の文字数1】 + 1文字目以降から【任意の文字数2】文字までの文字列に置き換わります。
指定した【アイテムフィールド名】の値が【任意の文字数1】+ 1文字以下、または、【任意の文字数2】が0の場合は空、 【任意の文字数2】が文字数を超える場合は、${【アイテムフィールド名】:【任意の文字数】}を設定した場合と同様の動作となります。
${【アイテムフィールド名】:,【任意の文字数】} 指定した【アイテムフィールド名】の値が存在し、空でなければ【任意の文字数】までの文字列に置き換わります。
【任意の文字数】が0の場合は空、【任意の文字数】が【アイテムフィールド名】の値の文字数を超える場合は指定した【アイテムフィールド名】の値に置き換わります。
${【アイテムフィールド名】:%【任意の文字数】} 指定した【アイテムフィールド名】の値が存在し、空でなければ指定した【アイテムフィールド名】の値の1文字目から【任意の文字数】- 1文字まで表示し、それ以降「…」を付加した文字列に置き換わります。
文字数が【任意の文字数】以下の場合、指定した【アイテムフィールド名】の値に置き換わります。
${【アイテムフィールド名】:@【任意のバイト数】} 指定した【アイテムフィールド名】の値が存在し、空でなければ指定した【アイテムフィールド名】の値の1バイトから【任意のバイト数】- 2バイトまで省略し、それ以降「…」を付加した文字列に置き換わります。
文字数が【任意のバイト数】以下の場合、指定した【アイテムフィールド名】の値に置き換わります。
${【アイテムフィールド名】:json} 指定した【アイテムフィールド名】の値が存在し、空でなければJSON文字列のエスケープ処理を行ってから出力します。
アプリJSONテンプレートでは利用できません。
${【アイテムフィールド名】:url} 指定した【アイテムフィールド名】の値が存在し、空でなければURLエンコーディング(UTF-8)を行ってから出力します。

※1

  • 比較条件である【任意の文字列】にはアイテムフィールド名は指定できません。
  • 文字列比較のため、【任意の文字列1】は表示と同じ表記に揃える必要があります。
    (価格や価値フィールドの場合はカンマを付けてください)
  • 比較条件である【任意の文字列】には下記のようにワイルドカードが利用できます。
    •  【任意の文字列】*:前方一致
    • *【任意の文字列】:後方一致
    • *【任意の文字列】*:部分一致
  • 【任意の文字列】にプレースホルダ機能は利用できません。
  • 【任意の文字列】が空の場合は空文字の比較となります。
    《例外》
    • 【任意の文字列】が「***」の場合は「*」の部分一致
    • 【任意の文字列】が「**」の場合は「*」の前方一致
    • 【任意の文字列】が「*」の場合は「*」の完全一致

※2

  • 指定した【アイテムフィールド名】の値と【任意の数値】がどちらも数値の場合には、
    数値で比較を行います。
    • 【任意の数値】に「1,000」のようにカンマが含まれる場合は文字列で比較します。
    • 【アイテムフィールド名】の値は数値にカンマが含まれる場合でも数値で比較します。
  • 文字列の場合にはUnicode値に基づいて比較を行います。
  • 【任意の数値】にプレースホルダ機能は利用できません。
  • 【任意の数値】が空の場合は処理されません。

Webテンプレートで利用可能な書式

書式 動作
${_rt.poc} レコメンド方法が閲覧後の購買ランキングの場合のみ使用できる書式です。
ランキング表示する商品ごとに購入された割合(%)を表示することができます。「%」は自動で付与されます。
Webテンプレート内で表示したい場所に埋め込んでください。
${_rt.eid} エレメントIDに置き換えられます。
表示枠数機能を利用している場合はサブエレメントIDに置き換えられます。
${_rt.idx} サブエレメントIDの枝番に置き換わります。
Webテンプレート内で表示したい場所に埋め込んでください。
${_rt.rnd} インプレッション毎のランダムな16進数文字列15文字を出力します。

Webテンプレートの記述例

Webテンプレート設定にHTML形式で記述する際の例です。

【例】アイテムデータ

CODE NAME PRICE CATEGORY URL_IMAGE URL
item_veget1 バナナ 60 veget images/item_veget1.jpg item_veget1.html
item_veget2  キュウリ 20  veget  images/item_veget2.jpg  item_veget2.html 
item_veget3  なす  30  veget  images/item_veget3.jpg  item_veget3.html 
item_veget4  イチゴ 90 veget  images/item_veget4.jpg  item_veget4.html 
【例】Webテンプレートの記述

¥(円マーク)を表示する

Webテンプレート編集画面で「¥」(円マーク)を半角で登録すると、Webページ上では「\」(バックスラッシュ)で表示されます。
「¥」(円マーク)を表示させる場合は、以下いずれかの対応が必要です。

  • 文字コードを入力する:&yen;
  • 全角「¥」で指定する

メール連携設定で利用可能な書式

メールテンプレート設定メールコンテンツグループ設定では以下のプレースホルダ機能を利用できます。

書式 動作
${_rt.uid} ユーザーIDを出力します。
${_rt.rdt} リクエストファイルの最終更新日時を協定世界時 (UTC) の1970年1月1日深夜0時からの経過ミリ秒数で出力します。
${_rt.rdt:<pattern>} リクエストファイルの最終更新日時を<pattern> で指定した形式の文字列で出力します。
<pattern>について》を合わせてご参照ください。