2

我需要修改成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 对其进行修改,但也会影响社区浏览选项。

德语

4

2 回答 2

2

您应该能够div使用它们的值重新排序这些 s id(因为这些id值在主页和各个社区上会有所不同)。

有一个“ Use CSS to reorder DIVs ”问题,它提供了一些关于如何根据 HTML值重新排序 HTMLdiv的好选择。id就个人而言,我推荐JQuery 解决方案,因为 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

于 2014-08-21T21:18:39.470 回答
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>
于 2014-08-21T22:41:44.957 回答