我想要自定义共享UI标题,例如删除一些按钮,如人员和共享文件。我发现这可以通过修改位于tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/share/imports文件夹中的share er.lib.js文件来完成。在修改这个文件时,我可以看到更改。但正如在这些链接中所建议的:https://forums.alfresco.com/forum/developer-discussions/alfresco-share-development/correctbest-way-customize-shares-ui-07182011 http://ecmarchitect.com/archives/2010/09/07/1212
正确的方法是在tomcat/webapps/share/WEB-INF/classes/alfresco/web-extension目录下创建相同的文件夹结构,并将修改后的文件放在那里。我在这个文件夹中创建了文件夹层次结构,并在这个文件夹中复制了share er.lib.js文件,但是现在网站上没有看到这些更改。我漏掉了什么吗?有人能建议正确的方法来做这件事吗?
谢谢!
发布于 2014-10-28 08:42:26
tomcat/webapps/share/WEB-INF/classes/alfresco/web-extension重写tomcat/webapps/share/WEB-INF/classes/alfresco的一般指导方针是正确的,但有一个重要的警告:它只适用于webscripts。
在您的示例中,生成头文件涉及两个文件:
前者确实属于一个webscript (您将在同一个目录中找到一个share-header.get.desc.xml )。可以通过将文件放置在WEB-INF/classes/alfresco/web-extension下的类似目录结构中来覆盖该文件,正如您在研究中正确地发现的那样。
然而,后者并不是webscript的一部分。相反,它是通过导入指令导入的。导入是一种完全不同的机制,WEB-INF/classes/alfresco/web-extension技巧在这里不起作用。
share-header.get.js的第一行阐明了这一点:
<import resource="classpath:/alfresco/site-webscripts/org/alfresco/share/imports/share-header.lib.js">
model.jsonModel = {
rootNodeId: "share-header",
...导入的资源实际上是从类路径加载的,没有任何web-extension覆盖。要导入自定义版本的share er.lib.js,第一行应该是:
<import resource="classpath:/alfresco/web-extension/site-webscripts/org/alfresco/share/imports/share-header.lib.js">总之,我的建议是定制header/share-header.get.js (仅仅是第一行)和imports/share-header.lib.js (就像您已经做的那样)。
请记住,当您创建一个新的自定义文件时,重新启动Al新鲜to是更安全的。另一方面,在编辑现有的自定义文件时,只需访问本地安装的/share/service/index并单击Refresh Web Scripts和Clean Dependency Caches就足够了。
发布于 2014-10-27 21:49:48
实际上,你的方法不是最好的。与Alfresco文档一样,您应该在share-config-custom.xml文件夹中配置您的tomcat/shared/classes/web-extension。你应该在那里找到一个样本文件。在共享webapp文件夹中查找原始的share-config.xml:并搜索<header>标记。它看起来与此类似:
<app-items>
<!-- defaults: icon="{id}.png" label="header.{id}.label" description="header.{id}.description" -->
<item type="link" id="my-dashboard">{userdashboardpage}</item>
<item type="js" id="sites">Alfresco.module.Sites</item>
<item type="link" id="people">/people-finder</item>
<item type="link" id="repository" condition="conditionRepositoryRootNode">/repository</item>
<item type="container" id="more">
<container-group id="my">
<item type="link" id="my-tasks">/my-tasks</item>
<item type="link" id="my-workflows">/my-workflows</item>
<item type="link" id="my-content">/user/user-content</item>
<item type="link" id="my-sites">/user/user-sites</item>
<item type="link" id="my-profile">{userprofilepage}</item>
</container-group>
<container-group id="tools" permission="admin">
<item type="link" id="application">/console/admin-console/application</item>
<item type="link" id="groups">/console/admin-console/groups</item>
<item type="link" id="replication-jobs" condition="!conditionEditionTeam">/console/admin-console/replication-jobs</item>
<item type="link" id="repository">/console/admin-console/repository</item>
<item type="link" id="trashcan">/console/admin-console/trashcan</item>
<item type="link" id="users">/console/admin-console/users</item>
<item type="link" id="more">/console/admin-console/</item>
</container-group>
</item>
</app-items>将整个部分复制到share-config-custom.xml文件中。进行更改并重新启动Alfresco。你该走了。
https://stackoverflow.com/questions/26592279
复制相似问题