我们已经实施了一个类似的解决方案,我们可以轻松推出一个新的自定义主题,只需进行最少的更改。
我们倾向于为每个集合自定义标题图像和链接目标、页脚文本和一些 CSS 样式。
- 创建 MirageBase.xsl 和 MirageBase.css
- 应在 MirageBase.xsl 中应用对样式表逻辑的全局更改
- Mirage1 站点地图指向 Mirage1 xsl、css、js
- Mirage1 xsl 执行 xsl:import MirageBase.xsl
- Mirage1 css 导入 MirageBase.css
- Mirage2 站点地图指向 Mirage2 xsl、css、js
- Mirage2 xsl 执行 xsl:import of MirageBase.xsl
- Mirage2 css 导入 MirageBase.css
- Mirage3 站点地图指向 Mirage3 xsl、css、js
- Mirage3 xsl 执行 xsl:import MirageBase.xsl
- Mirage3 css 导入 MirageBase.css
这是我们的自定义集合样式表之一的示例。
<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
xmlns:dri="http://di.tamu.edu/DRI/1.0/" xmlns:mets="http://www.loc.gov/METS/"
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dim="http://www.dspace.org/xmlns/dspace/dim"
xmlns:mods="http://www.loc.gov/mods/v3" xmlns:xlink="http://www.w3.org/TR/xlink/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="../non-GU-lib.xsl" />
<xsl:output indent="yes" />
<xsl:variable name="header-logo"
select="concat($context-path,'/themes/GU-base-theme/non-GU-lib/ir/images/ir-logo.png')" />
<xsl:variable name="header-logo-link">
http://library.georgetown.edu/ir/home
</xsl:variable>
<xsl:variable name="teaser-image"
select="concat($theme-path,'/images/ir-teaser.jpg')" />
</xsl:stylesheet>