$p("render")

$p("render"): (String, Object, Function, [String]) -> undefined

📘

技術ドキュメント

このページには、render関数に関する技術ドキュメントが含まれています。この関数は、LiftIgniterのリコメンデーションを表示するためのコードの一部として使用します。この機能に関する詳細は、Rendering Widgetsのドキュメントを参照してください。

$p("render") は、テンプレート、ウィジェットに表示するアイテム、callback、文字列配列を取得します。例えば、下記のようなリコメンデーションが返されたとします:

var item = {
	url: "www.google.com",
  title: "google",
  description: "search engine",
  thumbnail: "www.google.com/favicon.ico"
}

次に、下記の形式で表示を行ったとします。

<div>
<a href="www.google.com"><img src="www.google.com/favicon.ico"><p>Click here to go to Google</p></a>
<p>search engine</p>
</div>

特定のユースケースについては、こちらのドキュメントを参照してください。また、Mustacheテンプレートを定義して、[render]関数を上記に定義された[アイテム]とあわせて実行することもできます:

var template = '<div>' +
	'<a href="{{url}}"><img src="{{thumbnail}}"><p>{{title}}</p></a>' +
	'<p>{{description}}</p>' +
	'</div>'
  
var item = {
	url: "www.google.com",
  title: "google",
  description: "search engine",
  thumbnail: "www.google.com/favicon.ico"
}

// callbackがない場合は、関数は処理結果の文字列を返します。
// この場合は、処理結果の文字列を出力します。
$p("render", template, function(result){println(result)})

`[render]関数は、要求したものを返します。

しかしながら、 Google Tag Managerや、その他にWebサイト上で使用しているテンプレートなどとの干渉を避けるために、[{{}}]の形式の括弧を使用することは避けてください。この場合は、カスタムの左右の括弧に対する文字列式を含む配列を渡して、括弧を任意のフィールドに設定することができます。

// '{{' and '}}'の代わりに、'<%' and '%>'を使用しています。
var template = '<div>' +
	'<a href="<%url%>"><img src="<%thumbnail%>"><p><%title%></p></a>' +
	'<p><%description%></p>' +
	'</div>'
  
var item = {
	url: "www.google.com",
  title: "google",
  description: "search engine",
  thumbnail: "www.google.com/favicon.ico"
}

// 左右の括弧に対応する最初の要素と二つ目の要素に文字列配列を渡すことで、左右の括弧を設定できます。
$p("render", template, function(result){println(result)}, ['<%','%>'])