2017-03-07 56 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

相關問題