我需要将其修改为home的div的顺序,默认的当前DRI是
<div id="aspect.artifactbrowser.CommunityBrowser.div.comunity-browser" rend="primary" n="comunity-browser">...</div>
<div id="aspect.discovery.SiteRecentSubmissions.div.site-home" rend="primary repository" n="site-home">...</div>
我需要
<div id="aspect.discovery.SiteRecentSubmissions.div.site-home" rend="primary repository" n="site-home">
<div id="aspect.artifactbrowser.CommunityBrowser.div.comunity-browser" rend="primary" n="comunity-browser">...</div>
这个想法是首先显示最近的提交,而不是社区缩写链接。 我可以通过CSS修改它,但也会影响Comunity Browse选项。
德语
答案 0 :(得分:2)
您应该只能使用div
值对这些id
进行重新排序(因为这些id
值在主页和各个社区中会有所不同。)
有一个&#34; Use CSS to reorder DIVs&#34;这个问题提供了一些关于如何根据div
值重新排序HTML id
的好选项。我个人推荐JQuery solution,因为DSpace已经嵌入并使用了JQuery。
所以,最后,这样的事情应该有效:
$('#aspect.discovery.SiteRecentSubmissions.div.site-home').insertBefore('#aspect.artifactbrowser.CommunityBrowser.div.comunity-browser');
我不确定您使用的是哪个版本的DSpace(或哪个主题)。但是,假设您使用的是DSpace 4.2(截至目前的最新版本)和默认主题(Mirage),您可以将此自定义Javascript放入主题的page-structure.xsl
文件中,特别是<xsl:template name="buildHead">
(为每个页面构建HTML head
标记。这是DSpace 4.2 Mirage主题代码区域的直接链接:
https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-xmlui/src/main/webapp/themes/Mirage/lib/xsl/core/page-structure.xsl#L220
答案 1 :(得分:2)
如果您正在运行XMLUI,则可以覆盖ds:body的模板。请参阅下面的 xsl:otherwise 块。
<xsl:template match="dri:body">
<div id="ds-body">
<xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='alert'][@qualifier='message']">
<div id="ds-system-wide-alert">
<p>
<xsl:copy-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='alert'][@qualifier='message']/node()"/>
</p>
</div>
</xsl:if>
<!-- Check for the custom pages -->
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<div>
<h1>About This Repository</h1>
<p>To add your own content to this page, edit webapps/xmlui/themes/dri2xhtml/structural.xsl and
add your own content to the title, trail, and body. If you wish to add additional pages, you
will need to create an additional xsl:when block and match the request-uri to whatever page
you are adding. Currently, static pages created through altering XSL are only available
under the URI prefix of page/.</p>
</div>
</xsl:when>
<!-- Otherwise use default handling of body -->
<xsl:otherwise>
<xsl:apply-templates select="*[@n='item-related-container']"/>
<xsl:apply-templates select="*[not(@n='item-related-container')]"/>
</xsl:otherwise>
</xsl:choose>
<xsl:copy-of select="$SFXLink"/>
</div>
</xsl:template>