【发布时间】: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 对象不可用,我该如何获取它?
【问题讨论】:
-
AlfrescoJS 对象不只是客户端吗?服务端的JS对象不一样 -
所有 alfresco OOTB webscripts 都使用它。唯一的区别是他们用它来支持 js 文件而不是控制器 js 文件。