Panel | ||||||
---|---|---|---|---|---|---|
Contents
|
Panel |
---|
Files:
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/sitemap.xmap (The theme's SiteMap configuration)
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/lib/style.css (CSS stylesheet)
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/lib/style-ie6.css (CSS stylesheet for IE)
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/template.xsl (XSLT overrides for Theme)
Important Directories:
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/ (Directory where all your custom themes should be placed)
- dspace-src/dspace/dspace-version-build.dir/webapps/xmlui/themes/ (Directory where all out-of-the-box DSpace themes will be pulled down to after building DSpace for the first time.)
...
- First determine a directory name for your new theme inside the dspace-src/dspace/modules/xmlui/src/main/webapp
/themes / directory; this name will be referenced as theme-dir in these instructions.Code Block - Instead of starting your new theme completely from scratch, make a new copy of the standard theme template in a new directory, theme-dir.
- First, build DSpace (
Code Block mvn
package
) if you haven't alreadyCode Block cd
dspace-src
Code Block /dspace/target/dspace-
[version
]-build.dir/webapps/xmlui/themes/
Code Block cp
-R
template
theme-dir
- First, build DSpace (
- Next customize the theme's sitemap by specifying the theme's directory and name. Open, dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/sitemap.xmap, and edit the global variables shown below: code
code<map:component-configurations>
<global-variables>
Code Block <theme-path>
theme-dir
Code Block
code</theme-path>
<theme-name>
the name of your theme
Code Block </theme-name>
Code Block
code</global-variables>
</map:component-configurations>
- Next customize the theme's CSS stylesheets, by default there are two style sheets used – a base version for all browsers and then a supplemental version just for Internet explorer.
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/lib/style.css
- dspace-src/dspace/modules/xmlui/src/main/webapp/themes/theme-dir/lib/style-ie6.css
- Perform the steps in Install + a + theme (Manakin)
- Perform the steps in Rebuild + DSpace
Hints on Customizing XSLT in a theme:
These hints assume that you've started your theme based on a copy of the out-of-the-box
...
template
...
theme, along with the template.xsl that comes with that theme.
- Hint #1: Add
{{?XML orCode Block }}or {{&XML}}on the end of the URL to view the underlying XML for a given page.Code Block - Hint #2: Locate the appropriate
Code Block <xsl:template>
}}to override in the
Code Block {{dri2xhtml
theme that comes with DSpace. TheCode Block dri2xhtml
theme includes 5 main XSLT files. The three with (default) next to them are the only ones used by default in DSpace. codeDIM-Handler.xsl
- (default) = matches Item/Collection/Community METS files which contain DIM (DSpace Intermediate Metadata) format. (i.e. controls the display of all default metadata)
General-Handler.xsl
- (default) = matches the
Code Block <fileSec>
- section of Item-level METS files (i.e. controls display of individual files/bitstreams)
MODS-Handler.xsl
- = matches Item/Collection/Community METS files which contain MODS metadata. (i.e. controls the display of all MODS metadata)
Code Block QDC-Handler.xsl
- = matches Item/Collection/Community METS files which contain Qualified Dublin Core metadata. (i.e. controls the display of all QDC metadata)
structural.xsl
- (default) = defines the layout / page structure for all of DSpace
- Hint #3: There are a total of four metadata display "modes" used in DSpace. The
Code Block <xsl:template>
tags in each of theCode Block *-Handler.xsl
files are named after these "modes". - SummaryList = Summarized List of Objects
- E.g. Community/Collection listing pages, item browsing/searching pages
- SummaryView = Summarized View of a single Object
- E.g. Item homepage (by default includes summarized metadata only)
- DetailList = Detailed List of Objects
- (Rarely used) E.g. The "item appears in the following collections" section on an Item's page is a DetailList of Collections, as it includes both collection names and brief descriptions
- DetailView = Detailed View of a single Object
- E.g. Item "full record" page, Collection/Community homepages