Hi Pete,

On 25/11/11 06:21, Leggett, Pete wrote:
>
> With regard to using Dspace Manikin/xmlui interface, I would like to
> add another menu grouping under the normal “Browse” “My Account”
> “Administrative” menu groupings on the left of the page – sorry if I’m
> not using the right parlance here.
>
> This menu grouping will just be for local links, FAQ etc so very
> simple in theory, but I want it to have the same look and feel as the
> other menu groupings.
>
> My question is, is there any easy way to do this, i.e. some simple
> additions to the template.xsl or messages.xml
>
> or will it involve writing some java ?
>

I did this using an XMLUI Aspect -- purely within XML files.

Create this directory:
[dspace-src]/dspace/modules/xmlui/src/main/resources/aspects/SidebarMenu
(the last bit, SidebarMenu, can be anything you like)

In that directory, put a sitemap.xmap file with the contents

<?xml version="1.0"?>
<!--
Add menu to sidebar from file
-->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
<map:pipelines>
<map:pipeline>
<map:generate/>
<map:act type="DSpacePropertyFileReader">
<map:parameter name="dspace.dir" value="dspace.dir" />
<map:transform type="Include"
src="file://{dspace.dir}/config/sidebar-menu.xml" />
</map:act>
<map:serialize type="xml"/>
</map:pipeline>
</map:pipelines>
</map:sitemap>

(Also at https://gist.github.com/1392187#file_sitemap.xmap)

Then create a file called sidebar-menu.xml in
[dspace-src]/dspace/config
with the additions to the DRI that you would like. For an example, see
https://gist.github.com/1392187#file_sidebar_menu.xml. The example has a
two-level list, but obviously you don't have to do that if you don't
want to.

Finally, you'll have to enable this aspect in
[dspace-src/dspace/config/xmlui.xconf
by adding the line
<aspect name="Sidebar Menu" path="resource://aspects/SidebarMenu/" />
somewhere suitable -- for example after the line
<aspect name="Submission and Workflow"
path="resource://aspects/Submission/" />

You will need to rebuild and restart DSpace (strictly speaking, you can
get away with just copying the files into the right spots if you know
where the right spots are).

Note that this will most likely put your new menu at the bottom of the
sidebar. If you want to reorder the menus in the sidebar, you can do
that in your theme by overriding the dri:options template -- instead of
the <xsl:apply-templates/> at the bottom of that template, insert lines
like this, matching on what you put under "id" in your sidebar-menu.xml
file:
<xsl:apply-templates select="dri:list[@id =
'aspect.viewArtifacts.Navigation.list.browse']" />
<xsl:apply-templates select="dri:list[@id =
'aspect.viewArtifacts.Navigation.list.context']" />
<xsl:apply-templates select="dri:list[@id =
'aspect.viewArtifacts.Navigation.list.administrative']" />
<xsl:apply-templates select="dri:list[@id = 'extra.menu.help']" />
<xsl:apply-templates select="dri:list[@id =
'aspect.discovery.Navigation.list.discovery']" />
(this would put the new menu above the Discover menu).
The drawback to this method is that you now have to include every
sidebar menu explicitly.

I hope this is what you're after.

cheers,
Andrea

-- 
Dr Andrea Schweer
IRR Technical Specialist, ITS Information Systems
The University of Waikato, Hamilton, New Zealand


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to