[EP-tech] Re: Addressing a specific creator
John Salter
J.Salter at leeds.ac.uk
Mon Mar 3 14:59:22 GMT 2014
Hi,
You should be able to set a 'render_value' on the field, and define a local function to do the rendering.
I've included more of the config below to clarify where the render_value option goes:
{
name => 'creators',
type => 'compound',
multiple => 1,
fields => [
{
sub_name => 'name',
type => 'name',
hide_honourific => 1,
hide_lineage => 1,
family_first => 1,
},
{
sub_name => 'id',
type => 'text',
input_cols => 20,
allow_null => 1,
},
{
sub_name => 'ubt',
type => 'set',
options => [
'yes',
'no'
],
}
],
input_boxes => 4,
render_value => 'local_render_ubt_authors',
},
In another config file for the archive e.g. ~/archives/ARCHIVEID/cfg/cfg.d/z_local_render_ubt_authors.pl
###########################################################
$c->{local_render_ubt_authors} = sub {
my( $session , $field , $value ) = @_;
my $frag = $session->make_doc_fragment;
my $ul = $session->make_element( "ul", class=>"ubt_authors" );
#
# do something sensible with the $value - e.g. append a 'li' to $ul, possibly with some 'bold' - perhaps using a class="ubt_author"?
# see: http://wiki.eprints.org/w/Accessing_Metdata_Fields#The_Structure_of_Values
# for details about the structure to expect in $value
#
$frag->appendChild( $ul );
return $frag;
};
###########################################################
For more info, see:
http://www.eprints.org/tech.php/17392.html
This might not be the best way of doing this - but it should work. Anyone else got other suggestions?
Cheers,
John
-----Original Message-----
From: eprints-tech-bounces at ecs.soton.ac.uk [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of Verena Mattes
Sent: 03 March 2014 07:57
To: eprints-tech at ecs.soton.ac.uk
Cc: Andreas.weber at uni-bayreuth.de
Subject: [EP-tech] Addressing a specific creator
Hello,
we're just starting with our two EPrints archives here in Bayreuth and
now have requests from some of the University's members to change the
display of our views and individual items in such a way as to
distinguish between authors from Bayreuth and other authors.
So far I've added additional subfields to the creators, contributors and
editors compound fields to select whether an author is a member of the
University or not:
{
sub_name => 'ubt',
type => 'set',
options => [
'yes',
'no'
],
input_style => 'medium',
show_in_fieldlist => 0,
However, I've not found a way to use this field as I cannot address a
specific author. Is there a way to query the 3 tables
(eprint_creators_name, eprint_creators_id, eprint_creators_ubt) and use
the result in the citation format default.xml? The goal is to have the
local authors (eprint_creators_ubt="yes") printed in bold.
Thanks for your help!
Verena Mattes
Dep. Digital Library
University Library of Bayreuth
95440 Bayreuth
GERMANY
*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/
*** EPrints developers Forum: http://forum.eprints.org/
More information about the Eprints-tech
mailing list