2015-02-10 70 views
1

我试图修改DSpace 4.2中的Mirage主题以迎合我的组织的特定需求。我们希望添加自定义搜索字段的搜索框,并修改搜索结果页面。在xmlui海市蜃楼主题中修改dspace发现页面

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

cssxsl周围修修补补后,我想出了这个布局: enter image description here

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

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

如果有人指向正确的方向,那将会很棒。 在此先感谢

+0

您是否对已成功部署的** java **文件进行了其他修改?您是否将[dspace-source]/dspace-xmlui中的java文件复制到另一个模块? ([dspace-source]/dspace/modules/xmlui将是将它们复制到的正确位置) – 2015-02-10 16:31:28

+0

@AntoineSnyers我没有对其他java文件进行修改。我是否需要复制所有的java文件或只是我所做的更改? – 2015-02-11 04:03:42

+0

有什么办法可以在不更改源的情况下禁用xmap或xslt文件中的搜索框? – 2015-02-11 06:39:30

回答

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> 
+0

谢谢!这有帮助。 – 2015-02-12 09:21:42

1

您似乎是在正确的道路上。如果您的确注释掉了lines after 131,则应该看到该框被删除的效果。

因此,如果您没有看到更改,那么部署这些更新的方式可能有问题。你可以确认你已经执行了mvn clean包和ant更新,然后重新启动你的tomcat吗?

+0

感谢您的回答@Bram。我实际上已经对你指出的几行进行了评论,并且我确实执行了一个mvn clean包和ant更新。我遵循此链接重建和部署更新(https://wiki.duraspace.org/display/DSPACE/Rebuild+DSpace#RebuildDSpace-QuickRestart%28Justrestartsthewebserveraconfigurationchanges*%29)。我也清理了tomcat的localhost文件夹。而新的更新确实已经部署,因为我的dspace恢复为默认的Mirage主题。 – 2015-02-10 12:43:37

相关问题