javascript - 在 DSpace 4.2 xmlui 中向 Discovery 侧边栏添加展开/折叠功能

标签 javascript jquery dspace

我最近开始使用 DSpace,并尝试使用 Mirage 主题向 DSpace 4.2 xmlui 中的 Discovery 侧边栏添加展开/折叠功能。我发现了一些 jquery 代码可以帮助我做到这一点。

我尝试通过将 js 文件放入 /opt/apache-tomcat-8.0.17/webapps/xmlui/static/js/discovery 并引用来实现此目的它来自 Discovery sitemap.xmap 文件 (/opt/apache-tomcat-8.0.17/webapps/xmlui/WEB-INF/classes/aspects/Discovery/sitemap.xmap).

  <map:transform type="SidebarFacetsTransformer">
        <map:parameter name="javascript.static#1" value="loadJQuery.js"/>
        <map:parameter name="javascript.static#2" value="static/js/discovery/jquery.collapsible.js"/>
    </map:transform>

但是它不起作用。 有人可以指出我需要在哪里放置代码以及需要修改哪些文件。

提前致谢

这显示主页。正如您所看到的,调试器显示文件 jquery-collapsible.js,这是我添加到 DSpace 的自定义文件。此页面正在展开/折叠。

enter image description here

这是发现页面,其中调试器未显示我的文件,并且展开/折叠也不起作用。 enter image description here

最佳答案

尝试引用您的js文件在 [dspace]\webapps\xmlui\themes\Mirage\sitemap.xmap里面<map:transform type="IncludePageMeta"> 。默认值类似于 this:

        <map:transform type="IncludePageMeta">
            <map:parameter name="stylesheet.all" value="lib/css/media.css"/>
            <map:parameter name="javascript" value="lib/js/jquery-ui-1.8.15.custom.min.js"/>
            <map:parameter name="theme.path" value="{global:theme-path}"/>
            <map:parameter name="theme.name" value="{global:theme-path}"/>
        </map:transform>

改变

<map:parameter name="javascript" value="lib/js/jquery-ui-1.8.15.custom.min.js"/>

<map:parameter name="javascript#1" value="lib/js/jquery-ui-1.8.15.custom.min.js"/>

然后添加
<map:parameter name="javascript#2" value="lib/js/your-custom-js#1.js"/>
<map:parameter name="javascript#3" value="lib/js/your-custom-js#2.js"/> 等等等等。 lib/js顺便说一句,目录位于 Mirage 主题文件夹内。

我还建议您使用 Firefox 的 Firebug 插件来检查 (javascript) 错误或 google chrome 的检查器,因为您可能会遇到 jquery 冲突。

希望这有帮助。

关于javascript - 在 DSpace 4.2 xmlui 中向 Discovery 侧边栏添加展开/折叠功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28525743/

相关文章:

metadata - DSpace OAI-PMH 采集元数据导出

java - 如何从 DSpace 反馈页面的修改版本中获取引用页面(项目)的标题?

linux - 安装 DSPACE6 - mirage2 本地自定义失败

javascript - 无法在 Javascript 中调用函数

javascript - 基本 JavaScript 计算器

javascript - 我可以让 jQuery 指向 XML 文档而不是 DOM 吗?

javascript - 禁用剑道自动完成

javascript - jQuery Select2 在表 TR 中追加后不出现

javascript - IE10桌面版和城域版的区别

javascript - 如何在下拉框中包含数组元素