我可以获得Liferay站点的模板列表吗?

我可以获得Liferay站点的模板列表吗?,liferay,liferay-6,Liferay,Liferay 6,我想在WCM模板或主题模板中获取Liferay站点的所有模板的列表 这就是我所尝试的: <#assign DDMTemplateLocalServiceUtil = objectUtil("com.liferay.portlet.dynamicdatamapping.service.DDMTemplateLocalServiceUtil") /> <#assign ClassNameLocalServiceUtil = objectUtil("com.liferay.porta

我想在WCM模板或主题模板中获取Liferay站点的所有模板的列表

这就是我所尝试的:

<#assign DDMTemplateLocalServiceUtil = objectUtil("com.liferay.portlet.dynamicdatamapping.service.DDMTemplateLocalServiceUtil") />
<#assign ClassNameLocalServiceUtil = objectUtil("com.liferay.portal.service.ClassNameLocalServiceUtil")/>

<#assign className = ClassNameLocalServiceUtil.getClassName("com.liferay.portlet.journal.model.JournalArticle") />
<#assign classNameId = className.getClassNameId() />
<#assign groupId = themeDisplay.getScopeGroupId() />

<#assign ddmTemplates = DDMTemplateLocalServiceUtil.getTemplates(groupId, classNameId) />
<#list ddmTemplates as template>
    ${template.getName()}
</#list>

${template.getName()}
但是我没有得到任何值,也没有错误

当我尝试根据模板id获取模板名称时,它会起作用:

<#assign ddmTemplate = DDMTemplateLocalServiceUtil.getTemplate(50367) />
${ddmTemplates.getName()}

${ddmTemplates.getName()}

我不知道模板id,因此如何在不知道id的情况下获取Liferay站点的所有模板?

只需一句话:
${template.getName()}
将返回一个XML片段,作为您需要使用的名称
${template.getName(locale)}
是否检查了groupId是否正确?我猜scopeGroupId可能与模板所在的不同。请检查组id,至于其中一个问题,在lIferay 6.2上,主题显示未正确解决,最好是获取groupId,直接作为默认变量使用。我的组id是20182和
主题显示。getScopeGroupId()
groupId
为我提供了该值。所以我认为这不是groupId的问题。我还尝试手动传递参数
getTemplates(20182,classNameId)
@ShivamAggarwal我发现问题出在
className.getClassNameId()
。我的文章classId是20102,但是
ClassNameLocalServiceUtil
给了我这个值:20109,我不知道为什么不同。。