Adobe Target RecommendationsのDesign記法について(応用編)
こちらは以下の記事の続き(応用編)になります。
Adobe Target Recommendationsの基本的な使い方を知りたい方は是非上で確認してください。
応用編ではこんな書き方出来ますよーというややマニアックな使い方についてご紹介します。
(一部基本編で使っていた機能になりますが…解説編ということで。)
事前に定義されている変数について
Adobe Target側から事前に以下の変数が定義されているので、必要に応じて利用可能です。
変数内容 | 変数値 | 詳細 |
---|---|---|
Criteria 名称 | $algorithm.name | Criteria設定画面の "Criteria Name" 値 |
Criteria Display Title | $criteria.title | Criteria設定画面の "Display Title" 値 |
Criteria 集計期間 | $algorithm.dayCount | Criteria設定画面の Data Rangeを日数に変換した値 |
レコメンド結果商品配列 | $entities | レコメンド結果の商品情報配列 |
Profile値 | $user.プロファイル名 | Profile機能で設定したカスタムプロファイル値 |
Template内で変数を利用したい
これは基本編でも使っていたのですが…使いまわししたいような値や変更することが考えられる値などは変数化すると便利です。
記述方法
#set($変数名 = "値")
例
#set($countLoop = 5)
#set($priceSuffix = " 円")
$entity.valueのドット表記部分を削りたい
普通に$entity.valueのデータを出力すると 500.00 というような表現になってしまいます。
日本円ではこの記述方法だと使いにくいので…この".00"部分を取り除く方法は以下のようにします。
記述方法(仮に1商品目の価格データを出す場合)
$entity1.value.split(".00").get(0)
上が普通に表示した場合、下が上の記述方法で出力した場合です。
正規表現を使って値の判定をしたい
ちょっと特殊な書き方にはなりますが、正規表現を使って値の判定をすることが可能です。
記述方法
(仮に$entity1.itemTitle という値に対して正規表現を使いたい場合)
#if($entity1.itemTitle.matches("正規表現文字列"))
## マッチした時の処理
#end
例([テスト]という文字列があるかどうかを判定)
#if($entity1.itemTitle.matches("^\[テスト\].*$"))
<h2>テスト商品です</h2>
#end
これらのテクニック及びループ処理やIF文の判定を使うことで、ある程度のデザインカスタマイズがVelocity記法で記述した場合に可能になります。
今回説明した内容含めて以下のヘルプでも様々な例が記載されています。是非こちらも合わせてご確認下さい。
Velocity を使用したデザインのカスタマイズ | Adobe Target
是非Adobe Targetのレコメンデーション機能を使ってお手軽にレコメンド環境を導入してみてください!
Author And Source
この問題について(Adobe Target RecommendationsのDesign記法について(応用編)), 我々は、より多くの情報をここで見つけました https://qiita.com/manji6/items/bff110cd5f7994c9adfc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .