gpt4 book ai didi

java - 木兰cms : resources module proper usage

转载 作者:行者123 更新时间:2023-12-02 06:11:56 25 4
gpt4 key购买 nike

我正在学习 Jade 兰cms。我正在尝试使用资源模块。我实际上有两个问题。

  1. 无法上传一堆文件。我有一些文件,但过一段时间我将不得不上传更多文件。模块导入功能要求我上传 xml 文件。但我不知道如何正确生成它。尝试通过 JCR 导入,但之后我在资源应用程序中看不到这些文件。尝试配置模块以搜索文件系统中的文件:我将 fileSystemLoader 设置为类 info.magnolia.module.resources.loaders.FileSystemResourceLoader 并设置一些路径。它对我来说也不起作用。也许我只是不明白什么时候应该激活文件上传功能。在应用程序启动时它不起作用。

  2. 如何在我的模板中正确使用这些资源?我应该使用什么ftl标签?

我不使用 STK 模块。

如果您决定帮助我,感谢您的耐心等待。

Magnolia 版本:5.2 CE

JDK冰茶:1.7.0_51

操作系统:Linux/OpenSUSE 12.3

最佳答案

我之前(在 4.5.x 上)使用过下面的脚本通过 groovy 模块执行任务。它应该也适用于 5.2。

import static groovy.io.FileType.FILES
import info.magnolia.jcr.util.NodeUtil
import org.apache.commons.lang.StringUtils
import info.magnolia.cms.util.ContentUtil

class Globals {
static def folderName = '//some/folder/in/filesystem/on/server'
}

def loadImageFolder() {
session = ctx.getJCRSession("resources")
parentFolder = session.getNode("/templating-kit/jelinek-image/obrazky-produkty")

new File(Globals.folderName).eachFileRecurse(FILES) {

name = it.name
// set file name
extension = StringUtils.substringAfterLast(name, '.')
name = StringUtils.substringBeforeLast(name, '.')

// persist
resource = NodeUtil.createPath(parentFolder,name , "mgnl:content")
// persistResource
resource.setProperty("mgnl:template", "resources:binary")
resource.setProperty("extension", extension)

binary = resource.addNode("binary", "mgnl:resource")
binary.setProperty("jcr:data", new FileInputStream(it.absolutePath))
binary.setProperty("extension", extension)
binary.setProperty("fileName", name)
binary.setProperty("jcr:mimeType", "image/"+extension)
binary.setProperty("size", it.length())

}
session.save()
}

loadImageFolder()
return 'done'

关于java - 木兰cms : resources module proper usage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21808790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com