DSpace徽标社区 - DSpace 6.2 XMLUI

时间:2018-05-07 21:31:16

标签: xslt dspace

我尝试编辑 communitylist.xsl 来修改主页模板以添加社区徽标,但还没有运气。

我正在使用XMLUI - Mirage2

这里是主页模板示例图像

in:https://www.repository.cam.ac.uk/

我应该添加或修改什么?

感谢。

1 个答案:

答案 0 :(得分:1)

我们的存储库在层次结构中应用了40个不同的徽标。以下是我完成此任务的方法。

根据社区/集合句柄设置标题变量

<xsl:key name="myancestor" match="/dri:document/dri:meta/dri:pageMeta/dri:trail/@target|/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI']/text()" use="substring-after(.,'handle/')"/>
<xsl:variable name="IS_ZZZ" select="key('myancestor','12345/6789')"/>

    <xsl:choose>
        <xsl:when test="$IS_ZZZ">
            <xsl:call-template name="showLogo">
                <xsl:with-param name="header-logo" select="concat($theme-path,'/images/zzz.png')"/>
                <xsl:with-param name="header-logo-alt">ZZZ</xsl:with-param>
                <xsl:with-param name="header-logo-link">http://zzz.edu</xsl:with-param>
                <xsl:with-param name="header-logo-link-lang">ZZZ Website</xsl:with-param>
            </xsl:call-template>
        </xsl:when>

处理标题元素时,插入徽标标记

<xsl:template match="dri:div[@n='community-home' or @n='collection-home']/dri:head" priority="3">
    <xsl:call-template name="showLogo">
        <xsl:with-param name="header-logo" select="$header-logo"/>
        <xsl:with-param name="header-logo-link" select="$header-logo-link"/>
        <xsl:with-param name="header-logo-link-lang" select="$header-logo-link-lang"/>
        <xsl:with-param name="header-logo-alt" select="$header-logo-alt"/>
    </xsl:call-template>
</xsl:template>


<xsl:template name="showLogo">
    <xsl:param name="header-logo"/>
    <xsl:param name="header-logo-link"/>
    <xsl:param name="header-logo-link-lang"/>
    <xsl:param name="header-logo-alt"/>
    <xsl:call-template name="renderHead">
        <xsl:with-param name="class">ds-div-head</xsl:with-param>
    </xsl:call-template>
    <div class="gu-theme-logo-div">
    <a>
        <xsl:if test="$header-logo-link">
            <xsl:attribute name="href">
                <xsl:value-of select="$header-logo-link"/>
            </xsl:attribute>
            <xsl:attribute name="title">
                <xsl:value-of select="$header-logo-link-lang"/>
            </xsl:attribute>
        </xsl:if>
        <img class="gu-theme-logo hidden-sm hidden-xs">
            <xsl:attribute name="src">
                <xsl:value-of select="$header-logo"/>
            </xsl:attribute>
            <xsl:attribute name="alt">
                <xsl:value-of select="$header-logo-alt"/>
            </xsl:attribute>
        </img>
        <span class="hidden-md hidden-lg">
            <xsl:value-of select="$header-logo-link-lang"/>
        </span>
    </a>
    </div>
</xsl:template>