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