2015-02-10 66 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

相關問題