Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
document is my repeatable field .how to get data from adt
<section id="download-main-section">
<#assign
product_array = [] />
<#assign arr = []
/>
<#assign serviceContext =
staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
<#assign
themeDisplay = serviceContext.getThemeDisplay() />
<#if
entries?has_content>
<#list entries as
curEntry>
<#assign
assetRenderer = curEntry.getAssetRenderer()
journalarticle = assetRenderer.getAssetObject()
viewURL = assetPublisherHelper.getAssetViewURL(renderRequest,
renderResponse, assetRenderer, entry,
!stringUtil.equals(assetLinkBehavior,
"attrFullContent"))
document =
saxReaderUtil.read(journalarticle.getContent())
rootElement = document.getRootElement()
articleId = journalarticle.getId()/>
<#list
rootElement.elements() as dynamicElement>
<#if "insurance_type" ==
dynamicElement.attributeValue("name")>
<#assign insurance_type =
dynamicElement.element("dynamic-content").getData()
/>
<#if
!product_array?seq_contains(insurance_type)>
<#assign product_array = product_array + [insurance_type]
/>
</#if>
</#if>
</#list>
</#list>
</#if>
<#if
entries?has_content>
<div
class="product-type"><br><br>
<div class="row">
<#assign
count = 1/>
<#list product_array as
cur_product>
<#assign product =
cur_product?lower_case?replace(' ','-')?trim />
<button name="${product}"
class="product-${count}"
onclick="show('${product}');">${product}</button>
<#assign count = count + 1/>
</#list>
</div>
</div><br><br>
<div class="row
download-section" id="main">
<#list entries as curEntry>
<#assign
assetRenderer =
curEntry.getAssetRenderer()
journalarticle =
assetRenderer.getAssetObject()
viewURL =
assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse,
assetRenderer, entry, !stringUtil.equals(assetLinkBehavior,
"attrFullContent"))
document =
saxReaderUtil.read(journalarticle.getContent())
rootElement = document.getRootElement()
articleId = journalarticle.getId()/>
<#assign DocUrl = []/>
<#list
rootElement.elements() as dynamicElement>
<#if "insurance_type" ==
dynamicElement.attributeValue("name")>
<#assign insurance_type =
dynamicElement.element("dynamic-content").getData()
/>
</#if>
<#if "title" ==
dynamicElement.attributeValue("name")>
<#assign title =
dynamicElement.element("dynamic-content").getData()
/>
</#if>
<#if "uin" ==
dynamicElement.attributeValue("name")>
<#assign uin =
dynamicElement.element("dynamic-content").getData()
/>
</#if>
<#if "document" ==
dynamicElement.attributeValue("name")>
<#assign document =
dynamicElement.element("dynamic-content").getData()
/>
<#assign doc =
jsonFactoryUtil.createJSONObject(document)/>
</#if>
<#if (doc)??>
<#assign DocUrl = DocUrl +
[themeDisplay.getPortalURL() + "/documents/" +
doc.getString("groupId") + "/o/" +
doc.getString("title") + "/" +
doc.getString("uuid")] />
</#if>
</#list>
<#if title?has_content>
<div
class="card card-section col-md-12 all-type
${insurance_type?lower_case?replace(' ','-')?trim}">
<#if title?has_content &&
uin?has_content >
<div
class="title">
<h2>${title}</h2>
<p>${uin}</p>
</div>
</#if>
<div class="row
document-section">
<#list
DocUrl as cur_doc>
<div
class="document col-md-12">
<a href="${cur_doc}"
>Download</a>
</div>
</#list>
</div>
</div>
</#if>
</#list>
</div>
</#if>
</section>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var product =
$(".product-1").attr("name");
$(".all-type").hide();
$("."+product).show();
});
function show(choice){
$(".all-type").hide();
$("."+choice).show();
}
</script>