【发布时间】:2017-03-03 06:19:54
【问题描述】:
data-sly-resource 标签允许通过以下方式引用另一个组件中的资源。
<article data-sly-resource="path/to/resource"></article>
我们有 path/to/resource 被内容作者作为对话字段的一部分。如果内容作者错误地选择了不存在的路径,则内容作者将无法访问页面,从而给出 HTTP 500 错误,并且没有其他方法可以在不去 CRX 的情况下更正它。在无法访问 CRX 的环境中,我们无法删除不正确的节点。日志中的异常是
Caused by: org.apache.sling.scripting.sightly.SightlyException: org.apache.sling.api.resource.ResourceNotFoundException: No resource found
at com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:143)
at com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:86)
at com.adobe.cq.sightly.internal.extensions.ResourceExtension.call(ResourceExtension.java:99)
at org.apache.sling.scripting.sightly.impl.engine.runtime.RenderContextImpl.call(RenderContextImpl.java:89)
开箱即用的reference component (/libs/foundation/components/reference/reference.jsp) 通过一个 catch 块来处理这个问题,内容作者可以更正路径。但那是基于 JSP 而不是基于视觉的。
有没有办法一目了然地处理这个问题?
【问题讨论】: