EPrints Technical Mailing List Archive
Message: #07488
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
Re: [EP-tech] EPScript - Author Limit
- To: <eprints-tech@ecs.soton.ac.uk>, James Kerwin <jkerwin2101@gmail.com>
- Subject: Re: [EP-tech] EPScript - Author Limit
- From: David R Newman <drn@ecs.soton.ac.uk>
- Date: Wed, 19 Sep 2018 09:58:44 +0100
Hi James, This is what I did for one of the repository I help maintain: http://researchonline.ljmu.ac.uk/7570/ I should be able to share the code if I can extract it from the rest of the codebase, as it requires edits to 3-4 files, if I remember correctly. Also, if you have other features like people_with_orcids that modifies the list of authors in the citation in some way (i.e. in this case add little ORCID buttons to click), then it may require a bit more of an effort to merge. Regards David Newman On Wed, 2018-09-19 at 09:36 +0100, James Kerwin via Eprints-tech wrote: > Hi All, > > I have been tasked with limiting the number of authors that display > in any given EPrint Abstract page as when there are many > authors/creators associated with an EPrint it ruins the abstract > page. > > I have edited default.xml in citations and can make it show ten > authors and add an "et al" to the end if there are more than ten > authors. > > However, previously the creators/authors list was generated via: > > <print expr="people_with_orcids(creators)" /> > > I wasn't able to iterate through this so I instead used: > > <epc:foreach expr="creators_name" iterator="name" limit="10"> > <print expr="$name" /> > > If I wanted to change the behaviour of "people_with_orcids(creators) > how would I do this? I don't need detailed instruction, just a nudge > towards which file(s) control this if anybody knows. > > My suspicion is that I need to change the sub > "run_people_with_orcids" in a file named z_orcid_support.pl in > ../[Archive_Id]/cfg/cfg.d, but I'm not super excited about chopping > and changing things without fully knowing if I should (sub snippet > below). > > Thanks, > James > > #Rendering ORCIDs > { > package EPrints::Script::Compiled; > use strict; > > sub run_people_with_orcids > { > my( $self, $state, $value ) = @_; > > my $session = $state->{session}; > my $r = $state->{session}->make_doc_fragment; > > my $creators = $value->[0]; > > foreach my $i (0..$#$creators) > { > > my $creator = @$creators[$i]; > > if( $i > 0 ) > { > #not first item (or only one item) > if( $i == $#$creators ) > { > #last item > $r->appendChild( $session->make_text( " > and " ) ); > } > else > { > $r->appendChild( $session->make_text( > ", " ) ); > } > } > > *** 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/
- References:
- [EP-tech] EPScript - Author Limit
- From: James Kerwin <jkerwin2101@gmail.com>
- [EP-tech] EPScript - Author Limit
- Prev by Date: [EP-tech] EPScript - Author Limit
- Next by Date: Re: [EP-tech] EPScript - Author Limit
- Previous by thread: [EP-tech] Sort view with creators_name and corp_creators
- Index(es):