1

我正在尝试修改 DSpace 4.2 中的 Mirage 主题,以满足我组织的特定需求。我们想添加我们自己的带有自定义搜索字段的搜索框,并修改搜索结果页面。

这是默认 dspace 搜索结果页面的样子:

在修补了之后cssxsl我想出了这个布局: 在此处输入图像描述

顶部搜索面板是我通过修改page-structure.xsl文件添加的。现在,我想删除显示在结果页面中的默认搜索框。我已经查看了所有的css,xslsitemap文件。通过检查站点地图文件,我发现搜索是通过调用[dspace-source]/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/discovery/SimpleSearch.java文件进行的。我评论了添加搜索框的代码部分,并重新构建和重新部署了 dspace,但仍然没有成功。

也许,由于缺乏理解,我没有查看正确的文件。

如果有人指出我正确的方向,那就太好了。提前致谢

4

2 回答 2

2

您可以覆盖生成搜索框的模板。在[dspace]/webapps/xmlui/themes/Mirage/Mirage.xsl<xsl:output indent="yes"/>行后面加上:

<xsl:template match="dri:div[@id='aspect.discovery.SimpleSearch.div.discovery-search-box']">
    <!-- You can also add content here
         to replace the default search box
    -->
</xsl:template>
于 2015-02-12T06:17:30.620 回答
1

你似乎走在正确的道路上。如果您确实在 131 之后注释掉了行,您应该会看到框被移除的效果。

因此,如果您没有看到更改,则可能是您部署这些更新的方式有问题。你能确认在重启你的tomcat之前你已经执行了mvn clean package和ant update吗?

于 2015-02-10T12:35:09.590 回答