2017-03-07 78 views
1

我需要在opencms中创建一个具有1个字段的新资源类型。该字段用于目标文件夹。 每次我从VFS中选择一个文件夹并保存资源(xml)时,格式化程序将渲染指定文件夹中的文件列表。如何列出opencms中文件夹中的文件?

我设法创建一个jsp文件,该文件将创建所需文件的列表,但只与目标文件夹硬编码。我不知道如何从资源类型(xml)读取数据,我可以使用el表达式访问这些数据。

回答

0

我不确定这是否有效。请尝试一下。

<cms:formatter var="content" val="value"> 
    <cms:contentload collector="singleFile" param="${value.TargetFolder.stringValue}"> 
     <cms:contentshow element="Title" /> 
    </cms:contentload> 
</cms:formatter> 

valueMap<String, CmsJspContentAccessValueWrapper>类型。您可以检查Javadoc以查看您有哪些可用的其他方法。

我把收集来自: CmsDefaultResourceCollector.getSingleFile()

另一种方式来读取XMLContent与Java。例如:

<c:set var="path" value="${value.TargetFolder.stringValue}"/> 
<% 
    String path = pageContext.getAttribute("path"); 
    CmsXmlContent xmlContent = CmsXmlContentFactory.unmarshal(jsp.getCmsObject(), path); 
    xmlContent.getStringValue(jsp.getCmsObject(), "Title", locale); 
%> 
+0

的片断是没有用的,因为我需要先(<% %>之间)处理Java中的数据所以我需要从Java文档的东西,但事情是,我没有路径XML (内容)。每次通过格式化程序呈现一段内容时,我需要从内容字段获取值并对其进行处理,然后将其输出,例如: <% String valueFromField = getValueFromContentViaFormatter(); // process valueFromField out.println(valueFromField); %> – mihailacusteanu

+0

我重写了我的答案。一探究竟 – AdrianRM

相关问题