0
我正在运行两个Magnolia环境(一个用于测试,一个用于生产,两个4.5.2 CE)。现在在我的测试安装中,我的脚本工作正常。在另一个(生产性)环境中,即使我从良好的工作测试环境中复制了所有内容,我也会遇到模板错误。Magnolia CMS:问题调用函数'cmsfn:linkForWorkspace'
我的脚本:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="cmsfn" uri="http://magnolia-cms.com/taglib/templating-components/cmsfn" %>
<c:set var="imageLink1" value="${cmsfn:linkForWorkspace(content.image1,content.image1DmsUUID)}"/>
<c:if test="${cmsfn:isPublicInstance()}">
<c:set var="imageLink1" value="${fn:replace(imageLink1, 'magnoliaPublic', 'content')}" />
</c:if>
而这里的生产系统唯一的(从catalina.out的)什么失败: http://pastebin.com/ANtEjBCW
你看,错误是“问题调用函数“cmsfn:linkForWorkspace “”。但为什么它在测试系统上工作?
嗨!感谢您的回答;)正如您所建议的那样,工作区可能有问题,我打印出_content.image1_和_content.image1DmsUUID_以查看我是否返回“dms”,就像在我的测试环境中一样。而我呢!所以不知何故,它找不到“dms”工作区,是吗? – user2336287
是的,这是正确的,您的产品系统中的数据缺少“工作区”名称。我不确定你是如何创建你的数据的,但看起来你使用的是DAMHandler。如果您没有更改默认配置,那么用户可以在DMS和Upload之间进行选择,所以在您的测试环境中,您可能有图像链接到DMS,在您的prod env用户选择更改图像并手动上传一些。你应该检查产品数据是什么。 – Jan