2

我正在尝试使用新操作扩展 Share DocumentLibrary,该操作根据 nodeRef Id 提供指向某个 url 的链接(通过share-config-custom.xml

 <action id="blabla" type="link" label="label">
         <param name="page">../../alfresco/wcs/myPlugin/editor/{node.nodeRef.id}/param>
        <param name="target">_blank</param>
 </action>

但Share不解释{node.nodeRef.id}

它确实解释{node.nodeRef}正确,但我不需要完整的 URI

喜欢:workspace://SpacesStore/158f0ed4-a575-40c2-a6ef-7e7ed386ba94 我只想要节点 ref id :158f0ed4-a575-40c2-a6ef-7e7ed386ba94

任何人都可以向我解释这背后的逻辑并提出解决方案吗?谢谢

4

2 回答 2

1

只需使用 Javascript API Wiki中所见的 node.id

于 2011-10-24T22:47:40.973 回答
1

首先,我假设您要的是 Alfresco 4.0。扩展动作的方式在 4.0 中是全新的,我们大多数人还没有使用过。

创建占位符的逻辑可能在 Share webapp 中的 Java 代码中(尚未找到确切位置)。node.nodeRef 是一个字符串,因此您不能调用 nodeRef.id。在我看来,你有两个选择:

  • 您可以保留type="link"和 node.nodeRef 但您链接到自定义存储库端 webscript,然后生成正确的 URL 并将(HTTP 状态 301)转发到正确的目的地。
  • 您将类型更改为type="javascript"并在 Javascript 中实现回调函数。这将在单击链接时调用,并且可以构建正确的 Url。要包含自定义 javascript,您可以使用Share 配置中的依赖项:

据我所知,可用于扩展新操作的唯一文档是:

于 2011-11-02T21:41:01.340 回答