我最近开始使用 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 的自定义文件。此页面正在展开/折叠。
这是发现页面,其中调试器未显示我的文件,并且展开/折叠也不起作用。
最佳答案
尝试引用您的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/