ブロック

ガイドテンプレート言語内のブロックは、外部コードにリンクするマークアップのコンテナーとして使用します。

最初のブロックタグには、テンプレートで使用されるブロックの識別子とブロックの種別が含まれます。

各ブロックには、異なる 4 つのセクションが含まれます。

  • meta - 他のアプリケーションで使用されるスロットに関するデータを保存します (検証やコンパイルを含む)。meta タグ内のどの要素も表示や最終的なコンテンツに影響しません。
  • data - ブロックの出力を生成するために表示時に使用される JSON オブジェクトを保存します。
  • default - マークアップにコンテンツが含まれていない場合や、値が空の場合に提供されるコンテンツを保存します。
  • content - 表示するマークアップを保存します。

ブロックでデフォルトのコンテンツを表示するときに空の値が含まれていなければ、コンテンツが表示されます。

サーバースクリプトタグを使用して、ブロックにサーバーサイド表示を含めることができます。

例 

以下のテンプレートでは、指定されたデータエクステンションから行を選択するデータエクステンションピッカーブロックを使します。

テンプレート 

1{{.block myGear dataExtensionPicker}}
2   {{.meta}}   {dataExtensionName}   {{/meta}}
3   {{.data}}   { "Vendor" : "Northern Trail Outfitters"  }  {{/data}}
4   {{.default}}No deals for you!{{/default}}
5   I am a deal from {{Vendor}}.
6 {{/block}}

この例では、文字列「I am a deal from Northern Trail Outfitters」を出力します。

次のテンプレートでは、埋め込みのセクションタグと、ブロックの外部にあるデータソースを使用します。

テンプレート 

1{{.block myGear dealPicker}}
2
3    {{deals}}
4                      I am a deal from {{Vendor}}
5    {{/deals}}
6{{/block}}

データ 

1{{ "Deals" : [ { “Vendor” : "Northern Trail Outfitters" } ] }}

この例では、文字列「I am a deal from Northern Trail Outfitters」を出力します。

次のテンプレートでは、ブロックマークアップ内にサーバースクリプトタグが含まれます。このスクリプトでは、データ環境と _guide オブジェクトにアクセスして、テキストを表示できます。

1{{.block}}
2{{.data}} {}  {{/data}}
3    {{.default}}I am a default{{/default}}
4    <script runat="server" >
5                      if ( _channel.view == "html")
6                      {
7                                        _guide.render("<p>Hello from the server</p>") ;
8                      }
9                      else
10                      {
11                                        _guide.render("Hello from the server") ;
12                      }
13    </script>

この例では、文字列「“Hello from the server”」を出力します。