我需要在opencms中创建一个具有1个字段的新资源类型。该字段用于目标文件夹。 每次从VFS中选择一个文件夹并保存资源(xml)时,格式化程序将呈现指定文件夹中的文件列表。
我设法创建了一个jsp文件,该文件将创建所需文件列表,但只能使用硬编码的目标文件夹。我不知道如何从资源类型(xml)中读取数据,我可以使用el表达式访问该数据。
答案 0 :(得分:1)
我不确定这是否有效。请试一试。
<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。 e.g:
<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);
%>