1
我需要在opencms中创建一个具有1个字段的新资源类型。该字段用于目标文件夹。 每次我从VFS中选择一个文件夹并保存资源(xml)时,格式化程序将渲染指定文件夹中的文件列表。如何列出opencms中文件夹中的文件?
我设法创建一个jsp文件,该文件将创建所需文件的列表,但只与目标文件夹硬编码。我不知道如何从资源类型(xml)读取数据,我可以使用el表达式访问这些数据。
我需要在opencms中创建一个具有1个字段的新资源类型。该字段用于目标文件夹。 每次我从VFS中选择一个文件夹并保存资源(xml)时,格式化程序将渲染指定文件夹中的文件列表。如何列出opencms中文件夹中的文件?
我设法创建一个jsp文件,该文件将创建所需文件的列表,但只与目标文件夹硬编码。我不知道如何从资源类型(xml)读取数据,我可以使用el表达式访问这些数据。
我不确定这是否有效。请尝试一下。
<cms:formatter var="content" val="value">
<cms:contentload collector="singleFile" param="${value.TargetFolder.stringValue}">
<cms:contentshow element="Title" />
</cms:contentload>
</cms:formatter>
value
是Map<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);
%>
的片断是没有用的,因为我需要先(<% %>之间)处理Java中的数据所以我需要从Java文档的东西,但事情是,我没有路径XML (内容)。每次通过格式化程序呈现一段内容时,我需要从内容字段获取值并对其进行处理,然后将其输出,例如: <% String valueFromField = getValueFromContentViaFormatter(); // process valueFromField out.println(valueFromField); %> – mihailacusteanu
我重写了我的答案。一探究竟 – AdrianRM