EPrints Technical Mailing List Archive
See the EPrints wiki for instructions on how to join this mailing list and related information.
Message: #09829
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
Re: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- To: eprints-tech@ecs.soton.ac.uk
- Subject: Re: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- From: James Kerwin <jkerwin2101@gmail.com>
- Date: Fri, 23 Aug 2024 09:11:18 +0100
CAUTION: This e-mail originated outside the University of Southampton.
Okay, so I'm revising what I thought in the first email.
I think a potential starting point is in: /opt/eprints3/perl_lib/EPrints/Plugin/Screen/EPrint/Details.pm around this area:
oreach my $field ( @fields )
{
next unless( $field->get_property( "show_in_html" ) );
my $name = $field->get_name();
my $stage = $self->_find_stage( $eprint, $name );
$stage = "" if !defined $stage;
my $rows = $stages{$stage}->{rows};
my $unspec = $stages{$stage}->{unspec};
$stages{$stage}->{count}++;
my $r_name = $self->_render_name_maybe_with_link( $eprint, $field );
oreach my $field ( @fields )
{
next unless( $field->get_property( "show_in_html" ) );
my $name = $field->get_name();
my $stage = $self->_find_stage( $eprint, $name );
$stage = "" if !defined $stage;
my $rows = $stages{$stage}->{rows};
my $unspec = $stages{$stage}->{unspec};
$stages{$stage}->{count}++;
my $r_name = $self->_render_name_maybe_with_link( $eprint, $field );
Thanks,if( $eprint->is_set( $name ) ){if( !$field->isa( "EPrints::MetaField::Subobject" ) ){push @$rows, $session->render_row($r_name,$eprint->render_value( $field->get_name(), 1 ) );}}
James
On Fri, Aug 23, 2024 at 7:37 AM James Kerwin <jkerwin2101@gmail.com> wrote:
Hi All,
We're sprucing up the repository, which is awful news for me.
I need to alter how certain field names are rendered, depending on the EPrint type.
For example, if an item is an Article type I want the abstract to continue to be rendered as "Abstract". For report I want the Abstract to be rendered as "Executive Summary". That sort of thing. I can do this easily enough using epc:if in the summary_page.xml citation, but I want the field names to be consistent in the Details screen where my team log in.
Ideally I would do something in cfg.d, but I think it's going to be more involved than that. I'm aware I could simply conditionally map this in the crosswalks, but I'm trying to limit the number of new fields I create because we already have a lot.
Is there a way I should go about this? Looking at Details.pm I can see a "render_name" sub being called. I THINK the version of this I need to alter might be in MetaField.pm, but I'm really not sure.
Does anyone know if this would be possible and where I should start with it? I'm not looking for a fully flushed out solution, just some direction.
Thanks,James
- Follow-Ups:
- RE: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- From: John Salter <J.Salter@leeds.ac.uk>
- RE: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- References:
- [EP-tech] Conditional EPrints Field Names based on Eprint Type
- From: James Kerwin <jkerwin2101@gmail.com>
- [EP-tech] Conditional EPrints Field Names based on Eprint Type
- Prev by Date: Re: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- Next by Date: RE: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- Previous by thread: Re: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- Next by thread: RE: [EP-tech] Conditional EPrints Field Names based on Eprint Type
- Index(es):