【问题标题】:Alfresco Object is not available in extension module in alfresco shareAlfresco 对象在 alfresco 共享的扩展模块中不可用
【发布时间】:2015-07-30 08:41:02
【问题描述】:

我正在尝试使用 alfresco share 的扩展模块覆盖 components\node-details 的 javascript 控制器 node-header.js

这是我的 node-header.get.js

<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
for (var i=0; i<model.widgets.length; i++)
{
    if (model.widgets[i].id == "NodeHeader")
    { 
        if(model.widgets[i].options.nodeRef!=null)
        {
            var jsNode = new Alfresco.util.Node(model.widgets[i].options.nodeRef);
            if(jsNode.hasAspect("custom:intranetFile")){
                model.widgets[i].options.showFavourite = false; 
                model.widgets[i].options.showLikes = false;      
            }
        } 
    }
}

我收到了这个错误

错误信息:05270002 无法执行脚本 '类路径 *:webscripts/custom/nodeheader/hidelikesync/node-header.get.js': 05270001 ReferenceError:未定义“Alfresco”。 (jar:file:/C:/Alfresco/Alfresco42/tomcat/webapps/share/WEB-INF/lib/customshare.jar!/webscripts/custom/nodeheader/hidelikesync/node-header.get.js#1555)

错误在于这一行

var jsNode = new Alfresco.util.Node(model.widgets[i].options.nodeRef);

由于 Alfresco 对象不可用,我该如何获取它?

【问题讨论】:

  • Alfresco JS 对象不只是客户端吗?服务端的JS对象不一样
  • 所有 alfresco OOTB webscripts 都使用它。唯一的区别是他们用它来支持 js 文件而不是控制器 js 文件。

标签: alfresco alfresco-share


【解决方案1】:

基于我昨天在share-extras-devel 列表中的answer

您的问题是您将 Web 脚本 JS 与客户端 JavaScript 混合在一起。 Alfresco.util.Node 是一个客户端帮助类,因此可用于在 Web 浏览器中运行的客户端 JS,但不适用于在服务器上运行的 Web 脚本代码。

如果您查看包含在内的alfresco-util.js 的源代码,您会看到那里有一个帮助类,但它被称为AlfrescoUtil

要获取有关此给定节点的一些信息,我建议您使用该类中的静态方法 AlfrescoUtil.getNodeDetails(),例如

var jsNode = AlfrescoUtil.getNodeDetails(model.widgets[i].options.nodeRef);

jsNode 对象的结构将根据 doclist-v2 webscripts 返回的 JSON,因此您应该能够在 aspects 数组属性中检查您的自定义方面的存在。

如果您检查alfresco-util.js 的来源,您会看到getNodeDetails() 还支持其他参数。在我看来,您还可以传入一个可选的站点名称,如果您愿意,还可以加上一些选项。

【讨论】:

  • 感谢您的明确解释我理解我的错误实际上这个扩展模块对我来说是一个相对较新的功能。我正在研究这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多