Liferay DXPでは、Asset Publisherポートレットを使用してWebコンテンツ構造のエントリ(この場合はスタッフ)のリストを表示しています。メンバーのWebコンテンツ構造には、Webコンテンツテンプレートを作成する必要がありました。アプリケーションの表示テンプレートからWebコンテンツ構造テンプレートにアクセスするには
しかし、私のWebコンテンツテンプレートは現在、空のテンプレートになっています。なぜなら、Asset Publisherポートレットがスタッフのリストを表示するために使用するアプリケーション表示テンプレートからアクセスする方法がわからないからです。
は自分のアプリケーションの表示テンプレートは、現在、次のようになります。
<#if entries?has_content>
<div class="staff-members">
<div class="container">
<h3>Our staff</h3>
<div class="row offs">
<#list entries as curEntry>
<#assign docXml = saxReaderUtil.read(curEntry.getAssetRenderer().getArticle().getContent()) />
<#assign name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content/text()") />
<#assign photo = docXml.valueOf("//dynamic-element[@name='photo']/dynamic-content/text()") />
<#assign bio = docXml.valueOf("//dynamic-element[@name='bio']/dynamic-content/node()") />
<div class="col-md-3 col-sm-6 wow fadeIn animated" data-wow-duration="2s" data-wow-delay="0.2s" style="visibility: visible; animation-duration: 2s; animation-delay: 0.2s; animation-name: fadeIn;">
<div class="thumbnail">
<img src="${photo}" alt="${name}">
<div class="caption">
<h5>
<a href="#">${name}</a>
</h5>
<p>${bio}</p>
</div>
</div>
</div>
</#list>
</div>
</div>
</div>
</#if>
あなたが見ることができるように、私は追加のマークアップとスタッフのマークアップブロックをラップする必要があります。そのため、私は、Application Display Templateを表示するためにAsset Publisherを使用しています。
このセットアップでは、Liferayに空のWebコンテンツテンプレート(Staffメンバー構造用)を追加する必要があります。私がしたいのは、そのWeb Contentテンプレート内の繰り返し可能なマークアップを定義し、ADTのテンプレートを参照することです。そうですね:
<#if entries?has_content>
<div class="staff-members">
<div class="container">
<h3>Our staff</h3>
<div class="row offs">
<#list entries as curEntry>
<#assign docXml = saxReaderUtil.read(curEntry.getAssetRenderer().getArticle().getContent()) />
<#assign name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content/text()") />
<#assign photo = docXml.valueOf("//dynamic-element[@name='photo']/dynamic-content/text()") />
<#assign bio = docXml.valueOf("//dynamic-element[@name='bio']/dynamic-content/node()") />
<!--
CALL WEB CONTENT TEMPLATE HERE PASSING IN DATA
FOR THIS PARTICULAR WEB CONTENT ITEM.
-->
</#list>
</div>
</div>
</div>
</#if>
これはどのように達成できますか?